Copyright: DOSmenu Help 1.9 © 1994,95 Bremer Corp.


DOSmenu Help 1.9 ¸ 1994,95 Bremer Corp.TRUEDOSMENU&About~PopUpID(`DOSMENU.HLP',`DOSMENU.A__001')&Rights~PopUpID(`DOSMENU.HLP',`DOSMENU.R__001')noyesnonoyesyesyesDOSmenu Online Help Fileyes20/04/95


Contents

(NOTE:  Although DOSmenu is a DOS-based product, it can be useful to administer it out of a Windows DOS session.  When doing so, you may wish to keep this on-line help manual up simultaneously.)

DOSmenu Default Main Menu Picture

DMlogin Default Main Login Picture

Introduction

Miscellaneous

Installation

Commands

System Setup

Menu Definition

Menu Rules

Other Features

Standard Utilities

Bonus Utilities

Using DOSmenu With NetWare 4.x

Commonly Asked Questions

Additional Documentation Sources

Shareware


About

DMutil Maintenance Utility

DMquery Batch Input Utility

DOSmenu Login Utility (DMlogin)

Noticing

Unattended Runs

Hardware Managing Service

Software Metering Service

Menu Rights

Windows Office Menu (WOmenu)

Ordering Information

Technical Support

Required Files

Optional Files

Upgrade Procedures

Registration Procedures

Startup Batch File

Sub-Menus

Compiling Menu Files

Translating Menu Files

Temporary Batch Files

DOS Environment Variables

Personal Menus

Picking Files From Lists

Filling In The Command Line

Network

Stand-alone

NetWare

DOSmenu

DMutil

Rights

WOmenu Main Menu Setup Screen

WOmenu Main Administration Screen

WOmenu Menu Item Editing Screen

WOmenu Main Menu User Screen

[DMutil] Section

[Interface] Section

[Network] Section

[Security] Section

[Global Keys] Section

[New Main Help Screen] Section

All Rights

Directory Rights

File Rights

Server Rights

Group Rights

User Rights

Node Rights

Environment Rights

Today Rights

Date Greater Than Rights

Date Same As Rights

Date Less Than Rights

Hour Greater Than Rights

Hour Same As Rights

Hour Less Than Rights

Password Rights

Question Rights

View Rights

Metering Rights

Run Rights

Location Rights

Miscellaneous (DMlogin)

Installation (DMlogin)

Password-Protected Exit Option (DMlogin)

Command Line Parameters (DMlogin)

Renaming (DMlogin)

Notes (DMlogin)

Optional Batch Method (DMlogin)

SLIST Server List Function (DMlogin)

DMlogin


DOSmenu Default Main Menu Picture

This menu screen is configurable by you, the administrator.


DMlogin Default Main Login Picture

This menu screen is configurable by you, the administrator.

DOSmenu Login Utility (DMlogin)


Introduction

Welcome to DOSmenu.

DOSmenu was designed as a simple yet powerful menu system for both network and stand-alone environments.

Here is a quick overview of DOSmenu:

Small executable size.

No memory overhead.

Unlimited menus.

Run any program, including TSRs.

Help About screens/files for any menu item.

Many rights options to determine whether a menu item is usable by a user.

Automatically knows NetWare.  Works with other networks and stand-alone environments.

Change menu environment on-the-fly while users are active.

Optionally compile menu files for ultimate menu security.

One utility (DMutil) handles all menu maintenance tasks.

Translate NetWare menu files.

Complete user logging and reporting capabilities.

Complete Software Metering Service and reporting capabilities.

Complete Hardware Managing Service and reporting capabilities.

Allow users to fill in commands and pick items/files from lists for any menu item command.

Full mouse support, a large menu utility set and printed documentation with the registered version.


Other Features

Personal Menus

Noticing

Unattended Runs

Hardware Managing Service

Software Metering Service

Picking Files From Lists

Filling In The Command Line

Windows Office Menu (WOmenu)


Standard Utilities

DMutil Maintenance Utility

DMquery Batch Input Utility

DOSmenu Login Utility (DMlogin)

Optional Files


Miscellaneous

Requirements

DOSmenu's only known requirement is that it must run under DOS 3.1 or higher.  It loads Windows fine and runs fine from a Windows DOS session.

Recommendations

We strongly recommend placing the command

SHELL=C:\COMMAND.COM /E:512 /P (or more)

in all CONFIG.SYS files using this menu system.  The environment space is needed as DOSmenu passes many things through the DOS environment (thereby utilizing NO overhead).

Maximum Limits

Number of..

menu files: unlimited

sub-menus per file: 30+ (depends on memory)

shown items per sub-menu: 35

DOS commands per menu item: 35

rights per menu item: 10

right items per right group: 10

active notices per user: 15

lines per notice: 10

pick items: 250

metered applications: 100

managed workstations per server: 1000

Length of..

menu item lines: 60

menu rights lines: 120

menu command lines: 120

help lines: 60

about lines: 50

screen title: 78

questions: 72

notice lines: 70

pick items: 67

Startup Options

DOSmenu is actually started with the DOSMENU command from within the menu startup batch file, MENU.BAT.

Required Files

Optional Files


Required Files

The following files are necessary to run DOSmenu:

DOSMENU.EXE

The DOSmenu program.

DMUTIL.EXE

The DOSmenu utility program.  It handles all menu system maintenance chores.

DOSMENU.INI

The default DOSmenu INI file initially made and edited with DMutil.  It configures your menu system environment.

DOSMENU.MNU

The default DOSmenu menu file initially made and edited with DMutil.  This file is the default menu.

MENU.BAT

The startup batch file initially made and edited with DMutil.

Many additional utility bonus programs are also shipped with the registered version.

Optional Files

Bonus Utilities


Optional Files

Although not required, these files can extends DOSmenu's usefulness:

DOSMENU.HLP

This on-line Windows help file.

DOSMENU.PER

Optional personal menu kept in users' private directory.

DOSMENU.NTE

The default DOSmenu note file initially made and edited with DMutil.  This file holds user notices.

DOSMENU.LOG

If logging is enabled, this file is appended every time a user performs a menu action.

DOSMENU.MTR

If metering is enabled, this is the central file where the metering information is kept.

DMSAVER.EXE

An external screen saver (you may use your own as well).  This one can use the user's NetWare password to help protect workstations.

DMMANAGE.EXE

An external hardware managing utility that can keep a management database of all workstations on your network.

DMMETER.EXE

An external software metering utility that can compliment the metering services offered from within the DOSmenu.

DMQUERY.EXE

An external batch utility that gets and uses batch file input.

DMPAUSE.EXE

Like DOS 'pause command but with Ctrl+C and Ctrl+Break key trapping.

DMVIEW.EXE

A full-fledged file viewing utility for you and your users.  It is a great utility for filling those menu items that require your users simply to "look" at something, like a company listing or a business printout on line.  It offers a simple interface yet a powerful engine.

DMSELECT.EXE

A great instant menu utility especially suited for users on a network.  Many, many uses are possible with this easy utility.

DMSURVEY.EXE

A great interactive network survey tool that contains its own command processor to allow you to query your users.  Answers can be saved to separate user files or a central delimited file for later import/processing by nearly any program.

DMLOGIN.EXE

A great user login utility that enhances network order and security.  (See DMlogin. section for specifics).

DMLOGIN.INI

The control file for DMlogin.

DMLOGIN.DAT

The optional password file for exiting DMlogin.

INSTALL.EXE

The initial DOSmenu installation program.

NOBRK.EXE

A very useful utility that can help to guarantee security within your menu system with an approach different than the inherent DOSmenu {r=nobreak} rights option.

Many additional utility bonus programs are also shipped with the registered version.

Required Files

Bonus Utilities


Installation

To quickly get the menu system up and running, do the following (check the documentation later for specifics):

*	If you received a shareware version containing one self-executable file called DOSMNU.EXE, then copy that file to a temporary directory on your hard disk and then run DOSMNU to unzip the DOSmenu distribution files.

1	Run INSTALL from the distribution disk to copy DOSmenu files to their permanent directories and perform initial setup of DOSmenu support files.

2	After installation, you can further define your menu system with DMutil.

DMUTIL edits all DOSmenu support files.

DMUTIL /C DOSMENU.INI compiles the init file for security (optional).

DMUTIL /C DOSMENU.MNU compiles the menu file for security (optional).

DMUTIL /? shows additional options.

3	Run MENU to start the menu system.

4	Press Ctrl+F9 to further tailor the system with DMutil from DOSmenu.

NOTES

The installation process does not alter any of your system start-up files.

During installation, the following files will be made in the target directory:

MENU.BAT

Default menu startup batch file

DOSMENU.INI

Default menu environment file

DOSMENU.MNU

Sample menu file

DOSMENU.NTE

Sample note file for user/group notices

DMSAMPLE.*

Sample text files for the sample menu

Check the documentation for specifics on DOSmenu's easy and powerful features.

Enjoy!

Startup Batch File

System Setup

Registration Procedures

Temporary Batch Files

DOS Environment Variables


Upgrade Procedures

There are two ways to upgrade your registered version of DOSmenu.

Download From CIS (Or Other On-line Services)

You may download the latest shareware self-extracting ZIP file (DOSMNU.EXE) anytime, run it, and then install its files over your existing registered files during installation.  You may then need to follow the registration instructions for registering your product as originally accomplished when you bought the product.  For those who own version prior to 7.3, call Bremer Corporation for a registration number.  You are guaranteed free upgrades in this manner for at least two minor updates of the product.

By Mail Directly From Us

You may call or write to us and request the latest registered update.  Upgrade costs are $50 US for network versions and $25 US for single-user versions (both prices include shipping and handling).  This again guarantees you at least two more minor update upgrades.

Registration Procedures


Registration Procedures

To register your product, perform the following steps after installation:

make sure the DOSMENU.INI file is in its default uncompiled state.

Run DOSmenu from the MENU.BAT file.

Press F1 for the main help screen.

Press F1 again for the shareware screen.

Press F1 again for the register screen.

Enter your registration number on the Register line.

Press Enter.

You will find your registration number on the Software License letter that was shipped to you along with your product.

You should only have to perform this procedure once.  However, if you upgrade the product at a later date with a newer version obtained from an on-line service or bulletin board service, you may need to perform this procedure again.

Therefore, you should keep your registration number in a safe place.  Your name and registration number is also kept on file at Bremer Corporation.

Note:  On a network, you must be logged in as a supervisor or supervisor equivalent to effect a successful registration because the registration procedure writes to the product's INI file.

Please contact Bremer Corporation if you have problems with this procedure.

Upgrade Procedures


Startup Batch File

As part of the initial file installation performed by DMutil, the file MENU.BAT will be made.  All DOSmenu files except for MENU.BAT and the MNU files must remain in DOSmenu's home directory.  All users must have READ rights to this directory.  If you move or rename MENU.BAT, be sure to change it accordingly.  You may also move MNU files as long as you call them with their path.  If no path is given, then DOSmenu looks for them in its home directory.

Here is a commented MENU.BAT:

@echo off	;Cosmetics only

::uncomment variation of next line on networks when you don't want the menu to

::  appear if user is not logged in (especially if MENU.BAT is in LOGIN dir)

REM if not exist f:\public\*.* goto END

echo Loading Menu . . .

f:	;Helps achieve a cleaner logout

cd \login	;"

::add menu name, to end of next line only, if not starting with DOSMENU.MNU

f:\login\dosmenu /batch %1 %2 %3 %4 %5	;Point to/run DOSmenu

::quitting the menu system?	;255 passed with F10 or 'goto END' passed

if errorlevel 255 goto END	;If so, then leave loop and batch file

::running a new startup batch file?	;254 passed with /NEW or /LOGIN commands

if errorlevel 254 goto NEW	;If so, then leave loop and batch file

::run DOS variable set by DOSmenu

%_dmcmd%	;The DOS command or temp batch file name

::do it again	;Keep running the batch file (and the menu

f:\login\menu %1 %2 %3 %4 %5 %_dmmnu% /rerun	;  system) until system stopped

goto END

:NEW

%_dmcmd%	;The new startup batch file name

:END	;Place to go to when quitting

set _DMMTR=	;optional lines to cleanup DOS when

set _DMNTE=	;  quitting DOSmenu

set _DMCMD=	;

set _DMMNU=	;

_dmcmd holds either the actual menu command or the temporary batch file path and name.

_dmmnu holds the name of the current 'main menu.

Quitting will move to the end of the batch file, thereby stopping the system.  You can place a quit command on your user's menu to do the same thing by defining a single DOS command for that menu item as goto END.

System Setup

Temporary Batch Files

DOS Environment Variables


Commands

F1	HELP

Brings up context sensitive help (also Ctrl+F10).

F2	DOS

Performs any DOS command from within the confines of the menu system.  Can be password protected.

F3	VIEW DOS

Views last DOS screen.  If quit timing is enabled and an F2 password is enabled, this option is password protected.

F4	VIEW NOTE

Views any notices that were directed to a user.

F5	PERSONAL

Load user's personal menu file.  Can be disabled.

F6	EDIT PERSONAL

Edit personal menu file.  Can be disabled.

F7	VIEW COMMANDS

View the actual menu item's command(s).  Can be password protected.

F8	WS STATS

Workstation status report (multiple screens).  Can send to LPT1.  See the Hardware Managing Service section as well.

F9	EDIT

Edit the current menu file, interactively, while running the menu system.  (Alt+F9, Shift+F9 and Ctrl+F9 edit variations of the menu system files -check the program Help screen.)  Can be password protected.

F10	QUIT

Quits DOSmenu.  Can be password protected.

Alt+F1-F8	UTILS

Ctrl+F1-F8

Shift+F1-F8

Run a common utility program (if defined in DOSMENU.INI).

?	ABOUT

Perform the About function on a menu item (if defined).

Ctrl+Alt	SAVER

Immediately invoke the screen saver function.

Esc	PREVIOUS

Backs up to the previous menu or cancels a question (or Del).

Mouse

Point to an item and run it.  Left button = Enter.  Right button = Esc.

Enter	RUN

Run the highlighted menu item (or Ins or SpaceBar)

Ctrl+Enter	UNATTEND

Run the highlighted menu item in unattended mode.  See the Unattended Runs section.

System Setup


System Setup

DOSmenu has two setup phases, the initial default file creation and system configuration.

DEFAULT MENU FILES CREATION

The installation process copies DOSmenu files to a permanent home directory and then runs DMutil to make the initial menu file set consisting of DOSMENU.INI (the init file), DOSMENU.MNU (the menu file shell), DOSMENU.NTE (the note file) and MENU.BAT (the startup batch).

SYSTEM CONFIGURATION

Installation also allows the first opportunity to edit the DOSMENU.INI file in order to set the environment for your specific system.  You may re-edit this file at any time by either pressing F9 from within DOSmenu (if you have appropriate rights) or by running DMUTIL at the command line.  The INI file contains various options and switches that control how DOSmenu (and DMutil) will work for you and your users.  These are discussed here.

As of version 7.0, you may substitute DOS variables anywhere in the DOSMENU.INI and DOSMENU.NTE files and all menu (*.MNU) files (but not at the beginning of menu item lines!).

[DMutil] Section

[Interface] Section

[Network] Section

[Security] Section

[Global Keys] Section

[New Main Help Screen] Section

See also:

Menu Rights

Menu Definition

Menu Rules

Personal Menus

Picking Files From Lists

Filling In The Command Line


[DMutil] Section

Activate mouse=

Default=yes.  With the registered version, you may optionally engage use of a mouse (if a mouse driver is available) or disengage use.  Disengaging can be useful if your system takes a long time to reset the mouse driver when loading DOS mouse-aware programs.

DOSmenu Startup Batch File=

Default={directory you built files in originally}.  This option allows DMutil to load your startup batch file when loading the other menu system files with the DMUTIL command.  This is necessary because you may (and should) move your MENU.BAT to a directory in the users' path.  You may also rename it, though you must be careful to change the file contents appropriately in that case.  Although not critical, you should enter the path and name of your startup batch file here.

[DMutil] Section

[Interface] Section

[Network] Section

[Security] Section

[Global Keys] Section

[New Main Help Screen] Section


[Interface] Section

Use Mouse=

Default=yes.  With the registered version, you may optionally use your mouse to manipulate your menu.  A mouse driver (like MOUSE.COM) must be loaded on the workstation to enable mouse support.

Desktop Color=

Default=71 or 70(mono machines).  This number determines the color of the menu system's desktop background.  The first number represents the foreground color, and the second number represents the background color.  If you enter only one color, then it will represent the background color and the foreground color will be 0.  Entering nothing or 0 will disable the desktop background.  For example:

71 = white on blue

7  = black on white

0  = no background

The standard MS-DOS colors are:

0=black  1=blue  2=green  3=cyan  4=red  5=magenta  6=brown  7=white

Information Color=

Default=7.  This single number determines the background color of the information lines on the desktop.  You may enter a number from 0 to 7.  The colors are identified above.

Clear Screen By Default=

Default=yes.  This sets the menu default to either clear or not clearing the DOS screen before running menu items.  You can override this default with the {r=clear|noclear} right (see the Menu Definition section).

Use CRT Border=

Default=yes.  Do you wish your CRT's border to be filled in.  This option does not work on monochrome monitors.

Frame Windows=

Default=yes.  Do you wish the normal program windows to have a frame?

Max Menu Window Height=

Default=10.  You may enter a number from 3 to 17 to define the max height of all menu windows.

Use Menu Chevrons=

Default=yes.  If no, then the little chevrons that normally appear to the right of sub-menu items (depicting that the item is a sub-menu) will not be displayed and the double curly equal sign at the end of some menu items that signifies the menu item that will not run immediately (it has a question, password, etc., associated with it) will also not be displayed.

Use One Key Selection=

Default=yes.  If yes, then DOSmenu will react like some other popular menu programs when a user presses a menu selection (with the keyboard or mouse).  It will immediately run the item (versus simply moving to it and waiting for the user to press Enter).  This switch also turns on the automatic generation of the menu item letters (from A..Z and 0..9) which is necessary to avoid duplicate item letters.  Therefore, you would want to avoid adding a menu item letter for each menu item with this approach.  If no, then DOSmenu uses the first character for each menu item as the menu item letter (whether separated from the item or not) and if users press the letter, they will have to press Enter afterwards.  The choice is yours and the sample menu now uses the one key switch set to yes.

For one key=yes:

WordPerfect

wp

which results in:

A WordPerfect (or B WordPerfect, etc.)

For one key=no:

W WordPerfect

wp

which results in:

W WordPerfect

Screen Saver Time=

Default=5.  0 disables screen saving.

Screen Saver File=

Default=[path]dmsaver.exe 1.  You may use your own saver as well.  KEEP IN MIND THAT THE SCREEN SAVER FEATURE WILL NOT FUNCTION IF A TIMED LOGOUT HAS BEEN DEFINED FOR THE SYSTEM (see below).  The parameter 1 (or 2 or 3) defines the screen saver type.  Type DMSAVER ? for specifics.

Screen Saver NetWare Password=

Default=yes.  If you are on a NetWare network, and you elect to use DMsaver as your screen saver, then this option will utilize the user's NetWare password to help protect the user workstation during idle times.  NOTE:  The NetWare ALLOW UNENCRYPTED PASSWORDS=ON must be set for this option.

Screen Title=

Default=DOSmenu Menu System.  You may place your company name or something similar here, if you desire.  If this item is left blank, there will be no information line at the top of the screen.

Support Comment=

Default=For HELP Please Call Computer Support.  This phrase will be shown blinking at the bottom of the main help window.

Item About Viewer=

Default=[path]dmview.exe /n.  Define the viewer/editor you wish the users to access when a menu item has been setup for a menu item About view.

To setup an item for this feature, simply add one indented line below the menu item's title line starting with a ?.  This is similar to the item help line that starts with a #.  For example:

WordPerfect

#This is a word processor

?f:\public\wp.txt

The above example will view F:\PUBLIC\WP.TXT with the defined Item About Viewer when the user points to this menu item and presses ?.  Additionally, a '?=About' prompt will be displayed at the bottom left corner of the current menu window when the user points to this menu item.

KEEP IN MIND THAT THE ITEM ABOUT VIEW FEATURE WILL NOT FUNCTION IF A TIMED LOGOUT HAS BEEN DEFINED FOR THE SYSTEM (see below).

Show Date/Time=

Default=yes.  If no, then the updated date and time will not be shown at the top of the menu screen.

Show F1/F10 Keys=

Default=yes.  If no, then the F1 Help and F10 Quit keys will not be shown at the bottom of the menu screen, whether enabled or not.

Use New Main Help Screen=

Default=no.  If yes, then DOSmenu's main help screen will be the one you define in the [New Main Help Screen] section of the DOSMENU.INI file below.

Use Dedicated Global Keys Line=

Default=no.  If yes, and you then define a key line for show under the [Global Keys] section, this line will show continuously on screen for your users (the line is added to the bottom of the screen).  See the [Global Keys] section below for how to accomplish this.

[DMutil] Section

[Interface] Section

[Network] Section

[Security] Section

[Global Keys] Section

[New Main Help Screen] Section


[Network] Section

Using NetWare=

Default=yes.  This switch tells DOSmenu whether it should make NetWare API calls to determine the actual user, server, and workstation (node address) in force when it is running.  If you answer no, and you are using or are going to use DOSmenu on a network, then you will need to set DOS variables equal to the current network user, file server, and node address from within your network login script and then define those variables for DOSmenu in the DOSMENU.INI file (options are described below).  For instance, if you set the DOS variable _USER to the actual user ID in the network login script, then it will be found and used by DOSmenu if you enter _USER as the user DOS variable in DOSMENU.INI.

Non-NetWare DOS User Var=

Default={nothing}.  As discussed above, this option allows DOSmenu to find the user ID when not on a NetWare network (or when overriding the API method).

Non-NetWare DOS Server Var=

Default={nothing}.  As discussed above, this option allows DOSmenu to find the server name when not on a NetWare network (or when overriding the API method).

Non-NetWare DOS Node Var=

Default={nothing}.  As discussed above, this option allows DOSmenu to find the workstation node address when not on a NetWare network (or when overriding the API method).

Private Directory=

Default=c:\,a:\.  Users must have WRITE and ERASE rights to this location.

Typically, on networks, a private area is mapped for each user on login as their personally mapped drive (actually just a network directory based on the user's ID) on the server.  In such a case, you should place that location here.  An example might be H:\ if you had performed a

MAP ROOT H:=F:\USERS\%LOGIN_NAME (on a NetWare network).

If no such directory is mapped or used on your network, then we suggest using C:\, which should always be private to the user for every session.

You may actually specify two private locations for this option, like

Private Directory=h:\,c:\

to take care of special cases like when a user does not have proper mappings.  You may use the syntax  =%var1%,%var2%  to use the contents of DOS variables for this purpose.  On a stand-alone environment, private directories are not needed, so this option may be left blank, in which case DOSMENU.EXE's home directory is used.

Temp Batch Directory=

Default=c:\,a:\. DOSmenu writes temporary batch files to run menu commands embedded within the menu file only when there is more than one command for the chosen menu item.  These batch files must be written to an area where the user has WRITE and ERASE rights.

We suggest using C:\, when possible, which should always be private to the user for every session and should remain stable under any network situation.

Typically, you could define this place as the user's private directory (see above), and in nearly all cases this will work just fine.  In fact if you leave this answer blank, the 'Private Directory=' answer will be used.

On occasion, programs re-map network directories or accidentally lose some mappings.  If this happens while a user is running a multi-command menu item (one that makes a temporary batch file), then the user, upon finishing with that program, may encounter a "Batch file missing" message and lose their prompt and cursor.  If this happens, mappings have most probably become corrupted or at minimum, unmapped.  If this happens consistently for certain menu commands, then we STRONGLY suggest you place a location here that will always be available no matter what state of the network mappings.

Remember, the user temporary batch file is only written if more than one DOS command is defined as part of a chosen menu item.  You may actually specify two temporary batch locations for this option, like

Temp Batch Directory=c:\,h:\

to take care of special cases like when a user does not have a C drive.  You may use the syntax  =%var1%,%var2%  to use the contents of DOS variables for this purpose.  On a stand-alone environment, only one user writes temporary batch files, so this option may be left blank, in which case DOSMENU.EXE's home directory is used.

Use Connection Numbers=

Default=yes.  If no, then the user temp batch file will always be _DMBAT.BAT.  See the Temporary Batch Files section for other possibilities.

Allow Personal Menus=

Default=yes.  If yes, then each user may maintain, run and edit a personal menu file, DOSMENU.PER, that resides in their defined private directory (see above).  Users must have WRITE and ERASE rights to this directory.

Force Personal NoBreaks=

Default=yes.  If personal menus are allowed, this protects the security of your system by forcing all menu items on the user menu to be run with the {r=nobreak} right set.  This effectively eliminates the possibility of a user breaking out of a batch file or DOS command by pressing Ctrl+C or Ctrl+Break.  Strongly recommended.  However, understand that any batch file that uses an embedded NetWare search mapping command will not be honored in this case.  The alternative is to use the included NOBRK TSR utility.

Timed Group=

Default={nothing}.  Enter one group name here to optionally time that group only if Timed Quit Menu Time= is entered below.

Untimed Group=

Default={nothing}.  Enter one group name here to optionally ignoring timing for that group only if Timed Quit Menu Time= is entered below.

Mouse Group=

Default={nothing}.  Enter one group name here to optionally insure mouse support for its members no matter what the Use Mouse= option is set to.

Nomouse Group=

Default={nothing}.  Enter one group name here to optionally insure no mouse support for its members no matter what the Use Mouse= option is set to.

[DMutil] Section

[Interface] Section

[Network] Section

[Security] Section

[Global Keys] Section

[New Main Help Screen] Section


[Security] Section

F2 Run DOS Password=

Default={nothing}.  If filled in, DOSmenu will require this password before allowing users the option of composing and running their own DOS commands.  For security reasons, if a user enters nothing or a command that has the word command anywhere within it, then it will be ignored.

F9 Admin Password=

Default={nothing}.  If filled in, DOSmenu will require this password before allowing anyone to edit the menu system files.  If no password is defined, then anyone can edit your menu system.  This password is also queried by DMutil in case someone tries to run DMutil from DOS.  This option protects both the F9 and F7 function key choices.

F10 Quit Menu Password=

Default={nothing}.  If filled in, DOSmenu will require this password before allowing users the option of quitting the menu system.  If no password is defined, the user is prompted to be sure they wish to quit the menu system.

NOTE:  After defining password(s), you should compile the DOSMENU.INI file to maintain security with

DMUTIL /C DOSMENU.INI

Password Exception Group=

Default={nothing}.  If filled in, then members of this group will not be asked for any password from within DOSmenu, even if they are defined.

Use Hardware Managing=

Default=no.  This enables hardware metering.  You must fill out the next option and activate the node address variable (above - only if not using NetWare) as well.  See Hardware Managing Service section for specifics.

Manage File=

Default={nothing}.  If managing is enabled, then a path and filename must be entered here.  This file will become the central managing file for your system (on the current server).  Users must have WRITE and ERASE rights to this file.

Use Software Metering=

Default=no.  When enabled, the Meter right will be enabled in your menu system.  You will be able to meter any DOS software application your users employ, which can help keep you and your company out of trouble.  See the Software Metering Service section for specifics.

Meter File=

Default={nothing}.  If metering is enabled, then a path and filename must be entered here.  This file will become the central metering file for your system (on the current server).  Users must have WRITE and ERASE rights to this file.

Use Logging=

Default=no.  When enabled, an entry to the log file will be appended every time a user enters or leaves DOSmenu or runs a menu item.

Log File=

Default={nothing}.  If logging is enabled, then a path and filename must be entered here.  This file will become the central logging file for your system (on the current server).  Users must have WRITE and ERASE rights to this

area.

Max Log File Size=

Default=64000.  If you enter a number here, then DOSmenu will delete the log file when its gets to the size you specify, like:

Max Log File size=500000.

Timed Quit Menu Time=

Default=0.  This option, if enabled, allows you to control your user's allowed time of inactivity before forcing them off of the network (or simply out of the menu system).  Entering 0 or nothing disables this function.

Timed Quit Menu Command=

Default=logout.  If automatic quitting is enabled via the option above, then whatever is placed in this option will be run when the automatic quit is invoked.  Obviously entering logout will log the user out of a NetWare network.  If you simply wanted to remove a user from the menu system at automatic quit, then enter goto end here.  This in affect will take the user out of the MENU.BAT internal loop that normally keeps DOSmenu going.

Admin Group=

Default={nothing}.  If filled in with a group name, then members of this group will be able to see all menu items that are restricted by u= and g= (user and group rights are ignored).  This is for administrator testing only and, while running this way, the user is subject to the maximum number of sub-menus and any other memory limits.

Admin User=

Default={nothing}.  If filled in with a user login name, then this user will be able to see all menu items (all rights are ignored).  This is for administrator testing only and, while running this way, the administrator is subject to the maximum number of sub-menus and any other memory limits.

[DMutil] Section

[Interface] Section

[Network] Section

[Security] Section

[Global Keys] Section

[New Main Help Screen] Section


[Global Keys] Section

AltF? Text= (where ? = 1 to 8)

Default={variable}.  These lines determine what text will show by a global alternate function key.

AltF? Cmnd= (where ? = 1 to 8)

Default={variable}.  These lines hold the DOS command for the appropriate global alternate function key.  These commands are always shown, when defined, and are run with the {r=nobreak} option, just like F2 DOS commands.  If no commands are defined, then pressing the Alt key will show nothing.

CtrlF? Text=

CtrlF? Cmnd=

ShiftF? Text=

ShiftF? Cmnd=

These keys are defined the same as the Alt keys (discussed in the previous two paragraphs).

Global Show Line=

Default={nothing}.  If you answer yes to the 'Use Dedicated Global Keys Line= in the [Interface] section, DOSmenu will use the global key line that you define here.  You may place anything you want on this line as long as your text does not go beyond 80 characters.  To get your function keys to show in color like DOSmenu's normal function keys, surround them in brackets.  Here is an example line:

Global Show Line=[F4] Show Notes  [F5] Personal Menu  [Alt+F1] Calendar  [Ctrl+F1] Print_Q

As you can see, you can place any keys you want on the line.  Of course, make sure you have defined the additional keys or they won't work!  Note the use of the brackets ([ ]) so that DOSmenu can highlight the function keys for you.

[DMutil] Section

[Interface] Section

[Network] Section

[Security] Section

[Global Keys] Section

[New Main Help Screen] Section


[New Main Help Screen] Section

Default={sample text for help lines}.  If 'Use New Main Help Screen= is set to yes above, then this section is where you define your own main help screen.  Keep in mind that the maximum number of lines that can be shown is 20 and the maximum length of these lines is 70 characters.  Any line starting with a ; will be considered a comment and will not be shown or counted.  Be sure not to use any Tab characters on these lines as they will be interpreted improperly on you help screen.

[DMutil] Section

[Interface] Section

[Network] Section

[Security] Section

[Global Keys] Section

[New Main Help Screen] Section


Menu Definition

There are two conventions used to control the menu(s) a user gets when running the menu system, server-based and rights-based.  We will briefly both describe and show example code throughout.

As of version 7.0, you may substitute DOS variables anywhere in the DOSMENU.INI and DOSMENU.NTE files and all menu (*.MNU) files (but not at the beginning of menu item lines!).

Additionally, you may use the syntax %DM_USER% and %DM_SERVER% anywhere to place the system User and system Server into your DOSmenu files.  This is true even if you are on NetWare and have not defined a DOS variable for these variables.  The following system variables are also available for use anywhere: %DM_YEAR%, %DM_MONTH%, and %DM_DAY% are also available (always returned as 2 digits), and %DM_SMONTH% (like JAN).

SERVER-BASED CONVENTION

Approaching a menu file from the top down (in a vertical sense), it can be thought of as a server-based system.  This can become quite robust, as in our eight-server domain or quite simple, as in the case of a single server or a stand-alone environment.  Basically, the file is divided vertically into server sections that are defined by the actual server name.  An all encompassing name is also allowed, ALL.  Each server name, and ALL, must start at the beginning of a line with a colon, like :OUR_SERVER or :ALL.  You can have more than one section defined with the same server name, such as an :ALL section at the beginning and at the end.  Here is a segment of a menu definition showing the vertical server-based method:

%Main Menu

:ALL

Word Perfect

wp

:MAIN_SERVER

Paradox

paradox

Lotus 1-2-3

123

:SECOND_SERVER

Proprietary application

ourapp

:ALL

Logout of the network

logout

In the above example, you can see that a person who is running on the main server would get the following main menu:

Word Perfect

Paradox

Lotus 1-2-3

Logout of the network

while a person running on the second server would get:

Word Perfect

Proprietary application

Logout of the network

Note that any menu items (and sub-menus and their items) may be accessible depending upon which section they are placed under, subject to the next convention of discrimination, rights-based, which is discussed below.

RIGHTS-BASED CONVENTION

A secondary, more powerful means of segregating the menu file between users is the rights-based method.  Think of the rights-based convention in the horizontal sense. In other words, after deciding which server a user is using, we then must decide what the rights of that user are, and this convention does just that. Let's discuss each method in detail.

Menu Rights

NOTES

More than one of the above methods may be used at one time, either within the same right grouping or by having two or more groupings separated with a ;.  For example, you can place both a server (s=) method and a group (g=) method

on the same menu item, like:

Paradox

{g=paradox} {s=server1}

paradox

Here, it is read as member of paradox group _AND_ on server1.

Paradox

{g=paradox;s=server1}

paradox

Here, it is read as member of paradox _OR_ on server1.

Note that when using more than one grouping, each of the groupings must be true for the item to be shown (they are ANDed).  When using one or more methods within the same group, they are ORed.

Placing a! before a name means not.  Where {g=paradox} means if the current user is a member of group paradox, then display the menu item; {g=!paradox} means display the item only if the current user is NOT a member of group paradox (they are ORed only within each set of braces {}).

You may use spaces instead of commas.  The syntax {g=group1,group2} is the same as {g=group1 group2}.

The biggest rule that you must remember about the rights methods are that within each set of braces {}, the answer must be true.  So if you use more than one set of braces for a menu item, they all must be true.  For example:

P Paradox

{g=paradox} {u=joe,jim;n=fa164505} {s=!server2}

will only show on the menu if the user is a member of the PARADOX group _AND_ the user is JOE _OR_ JIM _OR_ the node address is FA164505 _AND_ the user is not on SERVER2.

TESTING YOUR MENU

After you have placed a lot of restrictions on your menu items, you may find it frustrating to see what the final outcome of an item looks like.  There is a way around this.  Enter a bogus user ID [server name] [node address] from the command line.  For instance, if you wish to check the menu appearance for John on APPSERVER at station F6085678, then enter the startup batch file with the command

MENU /U:JOHN [/S:APPSERVER] [/N:F6085678]

This will bring up the menu with the above restrictions so that you may run through the sub-menus and check it out.

You may also use the /T switch to temporarily ignore most rights phrases, like u=, g=, s=, d=, f=, n=, t=, etc. for debugging purposes.

MENU /T

Sub-Menus

Menu Rights

Menu Rules

Compiling Menu Files

Translating Menu Files

Personal Menus

Picking Files From Lists

Filling In The Command Line


Menu Rights

A powerful means of segregating the menu file between users is by applying the rights feature.  You can decide what items should actually appear on a user's menu by defining certain rights for some or all of the items in the menu file. Let's discuss each right.

All Rights {}

Directory Rights {d=}	Date Less Than Rights {<=}

File Rights {f=}	Hour Greater Than Rights {)=}

Server Rights {s=}	Hour Same As Rights {-=}

Group Rights {g=}	Hour Less Than Rights {(=}

User Rights {u=}	Password Rights {p=}

Node Rights {n=}	Question Rights {q=}

Environment Rights {e=}	View Rights {v=}

Today Rights {t=}	Metering Rights {m=}

Date Greater Than Rights {>=}	Run Rights {r=}

Date Same As Rights {==}	Location Rights {l=}


All Rights

Right = no right line entered.  This method actually checks nothing.  In other words, a menu item will show up on a user's menu if it is under the correct server name (or ALL), period.  In this case, you will be relying on your defined network rights to determine whether a user will be able to run a menu item or not (they will always see the items on their menu).  This method is, of course, exactly what you would want to use on a stand-alone environment.

Paradox

paradox

User gets item if it is available, period.


Directory Rights

Right = {d=directory name or d=directory name1,directory name2 ..}. DOSmenu looks to see if any of the listed directories exist for the user when it reads the menu file, and if none do, it does not place the item on the user's menu.

Paradox

{d=c:\apps\paradox}

paradox

User gets item only if F:\APPS\PARADOX is visible in the user's environment.


File Rights

Right = {f=file name or f=file name1,file name2 ..}. DOSmenu looks to see if any of the listed files exist for the user when it reads the menu file, and if none do, it does not place the item on the user's menu.

Paradox

{f=f:\apps\paradox\paradox.exe}

paradox

User gets item only if F:\APPS\PARADOX\PARADOX.EXE is visible in the user's environment.


Server Rights

(NetWare only unless DOS variable/command line parameters used)

Right = {s=server_name1 or s=server_name1,server_name2 ..}.  Do not confuse this method with the server-based convention.  Here, by placing one or more server names with a menu item, you are saying only show this item when the user is logged into one of those servers.

Paradox

{s=main_server}

paradox

User gets item only if the user is logged into and running on MAIN_SERVER.


Group Rights

(NetWare only unless DOS variable/command line parameters used)

Right = {g=group_name1 or g=group_name1,group_name2 ..}.  Normally you define groups to group certain users that you can later assign trustee rights to, thereby giving them access to certain programs.  This method allows you to use that work when discriminating in your menu system.  There is an advantage here, however, in that even if you do not bother with trustee rights and your network is open, DOSmenu will act like it is all set up just right.  In other words, DOSmenu doesn't care about actual rights; it only cares about whether the user is in the group name or group names that you tell it.  If not, then the user does not get the menu item displayed (and therefore cannot run it).

Paradox

{g=paradox}

paradox

User gets item only if a member of group PARADOX.


User Rights

(NetWare only unless DOS variable/command line parameters used)

Right = {u=user_id or u=user_id1,user_id2 ..}.  This method takes the discrimination down to the actual user ID running the system.  If the user name is in the list, then the user gets the item on their menu (if any other specified rights are also approved and the server-based convention allows it).

Paradox

{u=joeb}

paradox

User gets item only if his user logon ID is JOEB.


Node Rights

(DOS variable/command line parameter is required for this right)

Right = {n=node_address or n=node_address1, node_address2 ..}.  This method takes the discrimination down to the actual workstation.  If the node address is the same as the workstation, the user gets the item on their menu (if any other rights are also approved and the server-based convention allows it).

Paradox

{n=fa164505}

paradox

User gets item only if his workstation's address is FA164505.

If not using NetWare, then you must pull the workstation's node address to DOS by setting it to a DOS variable from within the network's initial login script.  Only then can you check for it from the menu system.


Environment Rights

Right = {e=dos_env_var~env_var_text, ..}.  This powerful right tests for the contents of a DOS variable.  For instance, to run a menu item depending on what room a person is in, set ROOM=room_number at login; then enter this right for the menu item in the menu file:  {e=room~102}  to test for room 102.  To test whether the var room is null (does not exist), type {e=room~}.


Today Rights

Right = {t=su,mo,tu,we,th,fr,sa}.  This right tests to see if the current day is equal to the day specified.


Date Greater Than Rights

Right = {>=MM/DD/YYYY}.  This right tests to see if the current day is greater than the specified date (must be in this format).

Date and Hour together example: To show a menu item only during business hours in July of 1994: {>=06/30/1994} {<=08/01/1994} {)=07} {(=18}  which means show only after June 30th and before August 1st of 1994 and then only after the hour of 7 am and before the hour of 6 pm.


Date Same As Rights

Right = {==MM/DD/YYYY}.  This right tests to see if the current day is the same as the specified date (must be in this format).

Date and Hour together example: To show a menu item only during business hours in July of 1994: {>=06/30/1994} {<=08/01/1994} {)=07} {(=18}  which means show only after June 30th and before August 1st of 1994 and then only after the hour of 7 am and before the hour of 6 pm.


Date Less Than Rights

Right = {<=MM/DD/YYYY}.  This right test to see if the current day is less than the specified date (must be in this format).

Date and Hour together example: To show a menu item only during business hours in July of 1994: {>=06/30/1994} {<=08/01/1994} {)=07} {(=18}  which means show only after June 30th and before August 1st of 1994 and then only after the hour of 7 am and before the hour of 6 pm.


Hour Greater Than Rights

Right = {)=HH}.  This right tests to see if the current hour is greater than the specified hour (must be in 2-digit 24-hour format).

Date and Hour together example: To show a menu item only during business hours in July of 1994: {>=06/30/1994} {<=08/01/1994} {)=07} {(=18}  which means show only after June 30th and before August 1st of 1994 and then only after the hour of 7 am and before the hour of 6 pm.


Hour Same As Rights

Right = {-=HH}.  This right tests to see if the current hour is the same as the specified hour (must be in 2-digit 24-hour format).

Date and Hour together example: To show a menu item only during business hours in July of 1994: {>=06/30/1994} {<=08/01/1994} {)=07} {(=18}  which means show only after June 30th and before August 1st of 1994 and then only after the hour of 7 am and before the hour of 6 pm.


Hour Less Than Rights

Right = {(=HH}.  This right test to see if the current hour is less than the specified hour (must be in 2-digit 24-hour format).

For hour rights, keep in mind that the shown menu items are update every time the user leaves the menu and returns (like when running a program or the screen saver activates).  So a user who sits in the menu to another hour may have inaccurate menu items until the menu is somehow refreshed.

Date and Hour together example: To show a menu item only during business hours in July of 1994: {>=06/30/1994} {<=08/01/1994} {)=07} {(=18}  which means show only after June 30th and before August 1st of 1994 and then only after the hour of 7 am and before the hour of 6 pm.


Password Rights

Right = {p=password where password is any alphanumeric, non-case sensitive, from 1 to 10 characters long}.  Placing a password on a menu item means that when the user selects this item (no matter what type it is - command or sub-menu), the user will be prompted for the correct password.

Paradox

{p=restrict}

paradox

User gets item only if he or she can answer the password prompt with RESTRICT.


Question Rights

Right = {q=your question that demands a yes/no answer?}  This method pops up your question for a Yes/No answer.  If No, then the item will not be run.

If a! is placed prior to the question, {q=!comment}, then the question becomes a comment only.

Paradox

{q=Are you sure?}

paradox


View Rights

Right = {v=text_file_name}.  This method reads the text file and then displays it in a window on screen.  The user can press escape to abort running the menu item.  A maximum of 20 lines of 72 characters or less will be shown.


Metering Rights

Right = {m=command:number}.  Entering this right on an item's right line will force the command for the item to be metered, if metering is turned on and the meter file has been defined (within DOSMENU.INI).  See the Software Metering Service section for a complete discussion.

W WordPerfect

{m=wp51:25}

f:\apps\wp\wp

This item runs as long as less than 25 users are running it at the same time.


Run Rights

Right = {r=nobreak,clear,noclear}.

NOBREAK:  This is where you determine whether batch files will be run with a second copy of the DOS command processor (NOBREAK) or not.  This right is only appropriate when running multi-line commands (which DOSmenu turns into batch files) or by running batch files; it should not be used unless batch files are being run (and then it is your choice).  One disadvantage of running NOBREAK is that NetWare search mapping commands generated within a batch file will not work.  Consider the included NOBRK TSR utility for fool-proof disabling of the Ctrl+C and Ctrl+Break keys.

M My batch file

{r=nobreak}

dir \

dmpause

CLEAR|NOCLEAR:  This simply clears/does not clear the DOS screen before running the menu item command; else the DOSMENU.INI default decides.


Location Rights

Right = {l=various letters}.  You may optionally place this right on a notice to set the location of it on the screen and the notes color, like:

{l=tlc6}

A note

where T=top, L=left, B=bottom, and R=right; N=noise and F=Flash title; C=color notice (from 1 to 7).


Menu Rules

The syntax for the menu file requires certain conventions.  In most cases, DOSmenu will issue an error message if it has trouble interpreting the file because of a syntax violation of one of the below described rules.  If you get stuck in an error loop within the batch file, press Alt+F10 at the read error message window to quit.

As of version 7.0, you may substitute DOS variables anywhere in the DOSMENU.INI and DOSMENU.NTE files and all menu (*.MNU) files (but not at the beginning of menu item lines!).

RULES

Main Menu Name

The first line of the file must be the main menu's name, starting with a percent symbol %.  You can optionally place the starting x and y coordinates of the main menu window and its window pane color after the menu name, like:  %Main Menu, 5, 10, 6.  This means the upper left corner of the menu will be 5 columns from the left edge and 10 rows from the top and the window will be color 6 (brown).

The standard MS-DOS colors are:

0=black  1=blue  2=green  3=cyan  4=red  5=magenta  6=brown  7=white

and the default is 7 (white).

Server Sections

There must be at least one server name before any menu items, unless operating in a stand-alone environment.  In a network environment, use :ALL, as a minimum, just after the main menu title and the one REQUIRED blank line.

Comments And Blank Lines

Any line starting with a semi-colon; is a programming comment only.  Blank lines are only allowed (and, in fact, REQUIRED) before server sections and sub-menu titles. See the example menu file built as part of the install process for a properly formatted file.  (Please do not confuse this with the BLANK, LINE and LINE2 options discussed below.)

Menu Action Character

If NOT using the one key switch (see the System Setup section), then the first letter of a menu item will always be highlighted and will be searched when the used presses a key to move to a particular menu item.  It may or may not be part of the first word of the menu item.  For example,

Lotus 1-2-3

and

L Lotus 1-2-3

offer the same result.  It is a cosmetic choice that you must make.  Of course, you could also use

1 Lotus 1-2-3.

The above characteristics are only true if the 'Use One Key Selection=' option in the DOSMENU.INI file is set to no (the default is yes).  If it is yes, then when the user presses the menu item letter, it will run immediately.  Also, DOSmenu auto-generates the menu item letters in this case to prevent possible duplicate letters.  Therefore, you would want to enter all menu items into your menu file like

Lotus 1-2-3

without a leading, separated menu item letter.

Indenting

All server name lines and menu item lines must NOT be indented.  All help lines, rights lines and DOS commands MUST be indented at least one space.  A tab character is allowed for the indentation.

Rights Line Length

The maximum length from the beginning of the rights ({} {}..) line from beginning to end (not including spaces or beginning tabs) is 120.  You may have more than one rights line per menu item for convenience, put there character count must all add up to 120 or less.

Parameters

Menu items may be setup to ask (and require) the user for a parameter prior to actually running the command associated with the menu item.  Place <> or [] (for required) at the exact location you wish to add input to the command.  Here are some examples:

dir <> /p

chkdsk []:

format []: /u

For multi-command items and multi-response items, use the DMquery syntax.  See Filling In The Command Line section for more.

Sub-Menu Names

All sub-menu names, both when called as a command and when entered as a sub-menu title, must start with the percent symbol %.  There MUST be a blank line before the actual sub-menu name as it starts the sub-menu section.  Sub-menus must come somewhere after the menu item that calls them.  The same optional x and y coordinates and window pane color applies as for the Main menu name (see above).

Help Lines

Help lines for each menu item, if used, must be indented and start with a number symbol #.  There can be a maximum of one help line per menu item.

About Lines

About lines for each menu item, if used, must be indented and start with a question mark symbol ?.  There can be a maximum of one about line per menu

item.

Menu Commands

If you place a %dos_var% syntax within the command, the actual DOS variable's text will be used.  Make sure the first % is not the first character of the command or it will be interpreted as a sub-menu name.  When this is necessary, place call in front of the command, like:

call %drive%:\apps\paradox

Blank Or Lined Menu Items

You may place a blank menu item or a lined menu item anywhere in your menu and sub-menus by placing the keywords BLANK, LINE or LINE2 in the file as a menu item with NO command items, help line or anything else associated with them.  For example:

Lotus 1-2-3

123

LINE

WordPerfect

wp

Paradox

f:

cd\apps\paradox

paradox

will result in:

Lotus 1-2-3

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

WordPerfect

Paradox

NOTES

You may rename DOSMENU.MNU to another name or copy it to another menu file because DOSmenu will run any menu file that you have as long as you specify that file name on the command line.  Note that the .MNU is assumed.  No other extension is allowed.

MENU PATH\MYMENU.MNU

and

MENU MYMENU

will both attempt to load MYMENU.MNU, the later from DOSmenu's home directory.

LOADING ADDITIONAL MENUS

You may switch menu files from within the menu system by LOADing them or /MENUing them.  This is accomplished by placing the /LOAD [PATH]MENU_FILE or /MENU [PATH]MENU_FILE as the first and only command line for a menu item,

like:

Support Menu

/load [path]support[.mnu]

Here, the system will load the SUPPORT.MNU menu file (from DOSmenu's home directory if no path is given) to temporarily replace the active menu file.  You may do this an unlimited number of times.  After a command is run, the original main menu reloads.  You may only /LOAD one level deep.

To prevent the original main menu from reloading, use /MENU.  This command forces the menu to become the permanent new default main menu.  If you wish users to have the option of going back to the original menu later, you will have to give them that option with another /MENU command in the new menu, like:

M Main Menu

/menu [path]dosmenu[.mnu]

CHAINING STARTUP BATCH FILES

You may switch to another startup batch file (perhaps on an another attached server?) from within a menu.  This is accomplished by placing the /NEW [PATH]BATCH_NAME[.BAT] as the first and only command line for a menu item, like:

Support Menu

/new [path]support[.bat]

Here, the system will quit the current batch file, dumping the menu environment variable, and run the [PATH]SUPPORT.BAT batch file.  This file now becomes the new cyclic batch file that operates DOSmenu.  To get back to the original startup batch file, issue another /NEW command from your active menu file.

LOGGING IN TO OTHER SERVERS

You may login to another server from within a menu.  You do this by placing the /LOGIN command before the actual command that calls your login sequence.  The difference between /NEW and /LOGIN is that /LOGIN does not check to see if your command actually exists (it would be impossible) and the command does not have to be a batch file.  Therefore, you should attempt to be sure your login sequence will protect you in case the user fails the login. DMlogin works great in this regard.  It keeps you users from DOS, period, until the login is successful.  Of course, the new server login script should (really must for security) call another DOSmenu startup batch file on the new server.

Place the /LOGIN [PATH]COMMAND as the first and only command line for a menu item, like:

Login to Support

/login [path]support[.bat]

-or-	/login login server2/user1

-or-	/login login /pro=server2 server2/user1 ;for NetWare Naming Service

Here, the system will quit the current batch file, dumping the menu environment variable, and run your command file (which should attempt a login sequence).

Sub-Menus

Menu Rights

Menu Definition

Compiling Menu Files

Translating Menu Files

Personal Menus

Picking Files From Lists

Filling In The Command Line


Sub-Menus

Sub-menus are just like the main menu except that their title is the first line of their definition.  The main menu's title is the first line of the menu file.  Their title must start with a percent % character, and when called from another menu item, this percent character must be included.

As of version 7.0, you may substitute DOS variables anywhere in the DOSMENU.INI and DOSMENU.NTE files and all menu (*.MNU) files (but not at the beginning of menu item lines!).

%Main Menu

Word Perfect

wp

Utilities

%Utility Menu

Paradox

paradox

The , 5, 10, 2 is optional and determines x and y menu window coordinates and menu color.

%Utility Menu, 5, 10, 2

Directory of...

dir <> /p

Check disk

chkdsk []:

Here, the sub-menu '%Utility Menu' is called from one of the main menu items.

Sub-menus follow the server-based convention along the vertical development of the menu file.  In other words, if a sub-menu is found under the :SERVER2 server name line, then it will not be accessible from a menu calling it which is situated under :SERVER1.  Sub-menus are typically placed at the end of the menu file under an :ALL alias server name section.

Although you may place up to 40+ sub-menus per menu file, we recommend less.  This is to protect the integrity of your network (DOSmenu will not load if there is not enough memory).  Remember, you may always load additional menus with the /LOAD and /NEW commands.

Menu Definition

Menu Rules

Personal Menus

Picking Files From Lists

Filling In The Command Line


Compiling Menu Files

The DMutil program will compile and decompile INI and menu files, if desired.  The syntax is:

DMUTIL /C [PATH]FILENAME

The output compiled file will be the same name.  You can then later decompile the file with the command:

DMUTIL /D [PATH]FILENAME

Compiling INI and menu files is not required.  Your users can run DOSmenu without ever compiling one file.  However, security is a great reason to consider compiling them after they have been tested.


Translating Menu Files

You can easily translate NetWare batch files to DOSmenu batch files with the DMutil utility with the following command:

DMUTIL /T [PATH]NETWARE_MENU_NAME

The generic default server name flag :ALL will be placed two lines after the main menu title, giving access to all servers initially.

If your NetWare menu used any @variable"fill-in lines", then you must change them within the new menu file to DOSmenu's format as it uses the external DMquery utility for this purpose with additional options.


Temporary Batch Files

Normally DOSmenu takes a menu's DOS command and stuffs it into the DOS variable _dmcmd so that the startup batch file, MENU.BAT, can then run it after DOSmenu quits.  However if their is more than one DOS command, DOSmenu instead makes a temporary batch file and stuffs that name into the variable instead.

The location and name of the temporary batch file is as follows:

Name

On a NetWare network, the name will be _DMBATn.BAT where n is the actual network connection number taken by the user's workstation.  (_DMBTnnn.BAT is used if the connection number is greater than 99 - you can make it _DMBAT.BAT always by changing a switch in the DOSMENU.INI file.)

If not on a NetWare network, or the option 'Use Connection Numbers=' is set to no, then the batch file is simply named _DMBAT.BAT.

Location

If the Private Directory option in the INI file was filled out with a directory, then the batch file will be written and run from that directory.  If not, then it will be written and run from DOSMENU.EXE's home directory, which is fine for stand-alone environments.

Notes

The DOS batch file word call is placed at the beginning of every line that does not start with a : (which could be a label).  This syntax only affects commands that are actually batch file names, allowing them to return to DOSmenu's temporary batch file at completion.

Example

If a menu item looked like this:

Word Perfect

f:

:RUN-IT

cd\apps\wp51

wp

h:

cd\

then the corresponding batch file would look like this:

@echo off

call f:

:RUN-IT

call cd\apps\wp51

call wp

call h:

call cd\


DOS Environment Variables

DOSmenu uses DOS variables to make the system work without any overhead; user ID, server name, workstation node address, command for a selected menu item, last time the DOSMENU.NTE file was changed (for noticing), software metering application, and name of the last 'main menu' used.

The user ID, server name, and node address variables are only needed if you are not running on NetWare and are not on a stand-alone environment.  In this case, you define and load three DOS variables once during the user login script with the correct information.

DOS SET _USER="%LOGIN_NAME"

DOS SET _SERVER="%FILE_SERVER"

DOS SET _NODE="%P_STATION"<<4  {a NetWare example for node address here}

where _user, _server, and _node can be called anything you wish.  You would then add these three names to the INI file so DOSmenu will know what they are called.  It takes care of the rest.

The variable for the menu item command is called _dmcmd and is always used.

The variable _dmnte is used when you wish to leave dynamic notices to any and all users.

The menu name variable, _dmmnu, keeps track of the last permanent main menu used in DOSmenu before quitting to the batch file as well as the last sub-menu and item selected.

The _dmmtr variable holds the meter rights issued with the current DOS command, if any.

DMquery also uses environment variables.  It will use up to 9 variables named _dmq1, _dmq2, .., _dmq9.

As of version 7.0, you may substitute DOS variables anywhere in the DOSMENU.INI and DOSMENU.NTE files and all menu (*.MNU) files (but not at the beginning of menu item lines).


Noticing

DOSMENU.NTE is used to leave notices to any and all users -dynamically.  Here you may place notices based on the rights defined for each notice.  Each notice consists of at least two lines; line 1 contains the rights and the following lines (up to 10) contain the actual notice, like:

{g=paradox} {s=server1}

Paradox will be down on SERVER1 all day today.

Hopefully it will be up tomorrow...

Here, only users in group PARADOX on server SERVER1 will get this notice.

Each user may have up to 15 active notices.  Each notice may have up to 10 lines of up to 70 characters long.

You can add and subtract from this section anytime throughout the day.  When a user starts the menu system, and after returning to the menu system (from commands, etc), the notices are checked and shown, if needed.  This gives the noticing system a dynamic quality that can be quite useful to you as an administrator!

The time stamp of the file when the user reads notices is kept in a DOS variable called _dmnte.  This variable is checked each time a user reloads the menu system after running a command.  If you have made a change to the DOSMENU.NTE file during that time, then the user will see the notices again, and the variable will be updated.

As of version 7.0, you may substitute DOS variables anywhere in the DOSMENU.INI and DOSMENU.NTE files and all menu (*.MNU) files (but not at the beginning of menu item lines!).

Menu Rights


Personal Menus

On a network, each user may use and maintain one personal menu, named DOSMENU.PER.  This menu file is kept and read from the user's defined private directory.

The F5 key will load the menu for the user so he/she can use it.  After running a command from it, DOSmenu will return to the last shared main menu.  If the personal menu does not yet exist, a simple menu will be created for the user first.

The F6 key allows the user to edit the personal menu with DMutil.  All commands that would grant access to other parts of your network are disabled while the user is editing the menu.  Only the SAVE and QUIT commands are enabled.

To disallow the personal menu option, set the "Allow Personal Menus" line to NO in DOSMENU.INI.

If allowed, we recommend setting the "Force Personal NoBreaks" line to YES.  Otherwise, a user may be able to break of some DOS batch commands.  One disadvantage to using this approach is that any NetWare search mappings contained within a batch file will not work.  An alternative approach would be to set nobreaks to false and instead use the included NOBRK TSR utility, which ensures complete nobreak protection without affecting network batch file-based search mappings.


Picking Files From Lists

While building your menu, you may have the need to show users a "pick list" of possible choices before the user actually runs the menu item command.  That is easy to do with DOSmenu!

This is accomplished by placing a {{ in a command line immediately followed by a file specification and a }} just after it.

Additionally, there are two ways to do this -- 1) use a file specification and 2) define a file that holds the pick list.  A few examples will show the way here.

Using A File Specification

1. Which WordPerfect file to edit?

Edit A WordPerfect File

wp {{f:\data\wp\*.doc}}

2. Which file to view with DMview (and don't allow printing)?

View A Documentation File

dmview /n {{f:\login\dm*.doc}}

3. Which program to run?

Run A Program

{{f:\public\*.exe}}

4. Which files to see (in wide view)?

Directory Of Your Data

dir {{f:\%user%\data\*.*}} /w/p

Defining A Pick Text File

Instead of relying on a particular file specification, you may make the pick list be anything you wish.  Simply place the pick items you want to show the user on separate lines in a text file and then use the text file as the pick specification with a @ in front of it.  For example:

Contents of F:\LOGIN\DMLIST.TXT:

C:\AUTOEXEC.BAT

C:\CONFIG.SYS

C:\WINDOWS\SYSTEM\SYSTEM.INI

C:\WINDOWS\WIN.INI

E Edit System Files

ed {{@f:\login\dmlist.txt}}

Contents of F:\LOGIN\DRIVES.TXT

A:

B:

F Format A Drive

format {{@f:\login\drives.txt}} /u

Contents of F:\LOGIN\RUN.TXT

SYSCON

FILER

PCONSOLE

PRINTCON

R Run A Network Program

{{f:\login\run.txt}}

You can also define a pick text file to have both shown pick verbiage onscreen for the user and a separate command.  For instance, the following TEST.TXT file contents:

;user text	command text

Format Drive A	;A:

Format Drive B	;B:

shows

Format Drive A

Format Drive B

in the pick list for the user, but actually passes the text

A:

B:

back to your menu item command line (depending upon which one was picked) as the substitute for the {{@TEST.TXT}}!  So your pick lists really can be anything you want them to be.

As you can see, the possible uses are nearly endless.  Here are the rules.

The first {{ character is used to determine the pick specification (there may only be one pick per command line).

The file specification is any text surrounded by {{ and }}.

If more {{}} are found on a command line, they will automatically be replaced as well.

This option may be combined with the fill option, described in the Filling In The Command Line section.

In the optional pick text file, if a {space}; is found, it is used to separate the shown pick verbiage from the actual command.

For defined text pick files, these parameters apply:

A maximum of 250 items can be shown.

The maximum width of a pick item may be 67 characters.

Any line/item starting with a ; is a comment.  So are blank lines.

That's all there is to it.  Give it a try; we think you find this feature to be very useful, flexible and powerful -- and we think you will like it.

Menu Rights


Filling In The Command Line

Sometimes it may be desirable to allow the user to finish making a menu item command while the user is using the menu.  This is also easy to do with DOSmenu!

This is accomplished by placing a <> or [] (for required input) anywhere within a command line (where you want the user input to be added).  This option works very nicely with the file pick option described in the Picking Files From Lists section.  For example:

Let's say you wanted to ask the user which directory to show when asking:  WordPerfect file to edit?

E Edit A WordPerfect File

#Enter the 2-digit month and the 2-digit year, like (0195)

wp {{f:\data\wp\[]\*.doc}}

Here, the user is presented with a question box in which they would fill in the month and year to complete the directory path.  Then DOSmenu shows a pick list of files in that directory for the user to choose from.  Remember, the help line will remain at the bottom of the screen to help them fill in.

You could even do this:

wp {{f:\data\%user%\wp\[]\*.doc}}

in which case the user's login name would also help fill out the directory path.

Of course, this fill in option can be used by itself:

dir <> /p

-or-

wp f:\data\wp\[].doc

which would immediately run WordPerfect with the file name the user specifies.

As you can see, the possible uses here are also nearly endless.  Here are the rules.

The first <> or [] set is used to determine the fill point (there may only be one fill per command line).

If more <> or [] are found on a command line, they will automatically be replaced as well.

This option may be combined with the pick option, described in the Picking Files From Lists section.

That's all there is to it.  Give it a try; we think you will like this feature also.

Note that the user will be restricted to the fill portion of the command line, thereby protecting you from having a user change your commands!

Menu Rights


Unattended Runs

It is possible to run a menu item at a later time.  This is accomplished by highlighting the menu item and then pressing Ctrl+Enter.

You can only run actual menu items in unattended mode.  Sub-menus will not run this way.  You cannot run, in unattended mode, any menu items that have Get, Fill or Pick questions/lists associated with them or those items that will ask for a password.  Additionally, this feature only works if the 'Timed Quit=' option in the DOSMENU.INI file has not been set (see Menu Definition section).

After pressing Ctrl-Enter, you will be asked for a time to run the highlighted menu item.  You must enter this time in 24-hour time and in HH:MM format.

Example:  01:30 for 1:30 am  -or-  23:30 for 11:30 pm

When the unattended item run time comes, the item will run just as if you had pressed Enter on it.  Any question, comment, or view rights associated with that item will be ignored to facilitate the unattended run.  You should also make sure the item does not call DMquery for batch file questions.

A clear sign is posted on the computer screen to make sure it is obvious the computer is waiting for an event.

You must press Esc twice to cancel the unattended operation.

Menu Rights


DMutil Maintenance Utility

The DMutil program keeps all of your menu maintenance requirements in one utility.  Nearly anything you need to do to your menu system can be done with DMutil.

Command Parameters

Here is the command syntax:

DMUTIL ?

DMUTIL /M|T|C|D [PATH]FILENAME

DMUTIL

DMUTIL [PATH]FILE|[PATH]SPEC [[[PATH]FILE|[PATH]SPEC] ..]

DMUTIL /L [USER_ID]

where:

?	= DMutil and system installation quick help

/M	= Makes default DOSmenu BAT, MNU, INI, and NTE files

/T	= Translates NetWare menu files

/C|D	= Compiles|Decompiles DOSmenu INI, MNU, or NTE files

= Edits all menu system files at once

FILE	= Edits any number of text file(s) up to 64K in length each

/L	= parses specific user ID entries from the central log file, if used.

The Menu File Editor

The editor is a simple ascii text editor that has specific help screens to give you some on-line help on all menu file types.  Any ascii editor can be used to edit the startup BAT, INI, MNU and NTE files (if they have not been compiled).

It's operation is self-explanatory, but a few items are worth mentioning:

Edits files with any DOS attribute set and then resets those attributes afterwards.

Automatically decompiles - edits - recompiles your menu files for you.

Can edit many text files at once with commands like \WINDOWS\*.INI, etc.

Can show tabs and spaces in a file on screen.

Press Alt+H inside DMutil for specific setup help screens.

Running From DOSmenu

DMutil can be run from DOSmenu with the F9 or Ctrl+F9 keys.

With Ctrl+F9, all menu system files are brought up at once (just like calling DMUTIL from the command line).

With F9, only the current menu file is edited.  In addition, DMutil will take you to that point in the file that contains the menu item you were pointing to in DOSmenu, making spot menu edits a dream.

When a user presses F6 to edit their personal menu, again DMutil is called to perform the editing function.


Hardware Managing Service

DOSmenu includes a powerful capability called hardware managing which enables you keep track of hardware specifics for all workstations on your network. DOSmenu utilizes the DMmanage utility for this purpose.

There are more expensive and perhaps more foolproof offerings on the market for this service, but DOSmenu does the job simply and inexpensively.  We tried to keep it simple yet effective for you, the administrator.

To set up managing:

1	Place these commands in the DOSMENU.INI file:

Use Managing=yes

Manage File=f:\share\dosmenu.man (or something like that)

Users must have WRITE and ERASE rights to the above area.

2	If not using NetWare, make sure you have properly setup the node address variable in the DOSMENU.INI and your network login script (see the DOS Environment Variables section).

That's all there is to it!

DMmanage will start and keep a database for you that compiles the following information:

NODE

The workstation's node address.  Database is sorted on this field.  Will be made 8 characters long (if your node addresses are longer, the last 8 characters will be used).

YYMMDD

Year, month, day of last update.  By default DMmanage only updates once a day, when necessary.

DOS

The DOS version.

CRT

The CRT card type.

DOS

Available DOS conventional memory at sample time.

EXT

Total extended memory.

A: / B:

Capacity of floppy drive.

C: / D:

Size of hard drive.

CPU

Type of CPU.  Note:  This version of DMmanage cannot denote a pentium processor.  A 386 CPU may actually be a Pentium.

FPU

Type of math co-processor.  Note the Pentium exception above.

SPD

Approximate speed of CPU (can vary slightly).

USER

Last user when sample was taken (to help find the machine).  Will be truncated to 6 characters.  A user name will not be entered if you are not using NetWare and the DOSMENU.INI file has not been completed properly.  The character just after the USER label is an internal database version number for DMmanage.

To purge the database of old workstation records, type

DMMANAGE /P:n {where n is the number of days of age to use for purging}

The purge age default is 30 days.

To make this database a comma-delimited file which can easily be imported into most other programs, type

DMMANAGE /D

and the file DMMANAGE.TXT will be made in the current directory.

For a quick screen output of any workstation (whether set up in DOSMENU.INI or not), type

DMMANAGE

DMmanage is normally run by DOSmenu the first time the menu system is started only (if turned on in DOSMENU.INI) and only if it has not already collected information for that workstation during that day.


Software Metering Service

DOSmenu includes a powerful capability called software metering which enables you to control the number of simultaneous run instances of an application.  For instance, if you have bought 25 licenses for WordPerfect, you now have the means to insure that only 25 copies are run at one time from within the menu system on your network.

There are more expensive and perhaps more foolproof offerings on the market for this service, but DOSmenu does the job simply and inexpensively.  We believe that an administrator's effort level in attempting to control software licensing is at least 95 percent of any distributor's concerns.

To set up metering:

1	Place these commands in the DOSMENU.INI file:

Use Metering=yes

Meter File=f:\share\dosmenu.mtr (or something like that)

Users must have WRITE and ERASE rights to the above area.

2	Place the meter right on those commands you want metered, for example:

W WordPerfect

{m=wp51:25}

f:\apps\wp\wp

will meter the use of F:\APPS\WP\WP.EXE for all accesses from DOSmenu.  Here, if 25 instances are already in use, DOSmenu will instruct the user that the maximum licenses are in use and to try again later.

Syntax is important.  The keyword, here WP51, may be 10 or less characters with no spaces, followed by an colon :, followed by a number from 1 to 999 (with no spaces) -or- if no :number is entered, 999 is assumed.

Of course anyone accessing WP.EXE from outside the menu system will not be metered in this way.  See DMmeter Metering Utility below to find out how to handle this problem.

NOTE:  RECOMMEND DELETING THIS FILE PERIODICALLY/NIGHTLY...  If any user locks up while in a metered application, or gets rebooted at that point, then the meter count for that app will remain off by one (it will show one greater than actual).  We therefore recommend deleting the meter file periodically, perhaps at night before or after your backup.

DMmeter Metering Utility

This utility can optionally monitor your software usage from outside of the menu system.  It does the same thing DOSmenu does when you activate the meter right for a menu item, except it does it from within DOS batch files.

Here are the command line parameters:

DMMETER APP[:LICENSE_COUNT] (before batch command)

and

DMMETER (after batch command)

Here is an example batch file:

@echo off

[path]dmmeter wp51:25	;add instance of wp51 app to meter file

if errorlevel 1 goto END	;if too many instances already, don't do it

f:\apps\wp\wp	;run the app

[path]dmmeter	;subtract instance of wp51 from meter file

:END

DMMETER.EXE must reside in DOSMENU.EXE's home directory, and DOSMENU.INI must also be present there.

If an errorlevel 1 is returned, an error window pops up to tell the user of the problem and asks them to try again later.

To reset a problem app (one that locks machines now and then?) to 0 in the meter file (instead of deleting the entire file) run DMmeter with the reset switch, like:

dmmeter /reset wp51

To view concurrent usage of metered applications from the DOS prompt, use:

dmmeter /view


DMquery Batch Input Utility

DMquery is a utility that can be used to provide input for batch files made with DOSmenu.

Here are the command line parameters:

DMQUERY n [/R|U|E|Danswer]

where

n	= A number from 1..9

/R	= Input required (answer required)

/U	= Input forced to upper case

/E	= Input echoed to screen

/Danswer	= Input default answer is 'answer' (no spaces allowed)

The DOS variable _DMQn is used.  DMquery may be run from DOS or a DOS shell; however, it must be queried for and acted upon within the same batch file.

Here is an example DOSmenu menu item:

D Directory

echo Directory of what?

dmquery 1

echo Switches (/w, /p, etc)?

dmquery 2

dir %_DMQ1% %_DMQ2%

pause

NOTE:  You must NOT use the {r=nobreak} right with DMquery or it will not have enough environment space to perform properly.


Bonus Utilities

(For Registered Users Only)

The following functions are also included with registration:

FULL MOUSE SUPPORT

The following programs are included with registration (listed alphabetically):

DMASCII.EXE

An ascii chart showing the decimal, hexadecimal and character codes of all 256 ascii characters.

DMBEEP.EXE

Beeps the workstation in one of three different ways.

DMCAL.EXE

A quick calendar utility that helps your users find dates, etc.

DMCALC.EXE

A 5-function programmer's calculator that also performs floating point (currency) calculations.

DMCBOOT.EXE

Cold boots the workstation.

DMCHKDIR.EXE

Check to see if a directory exists, even if empty, and even on NetWare!

DMDIRF.EXE

Show users files only, without the DOS directory header stuff.

DMDIRS.EXE

Show users the sub-directories only, no files or DOS header stuff.

DMFAKER.EXE

Stuff keystrokes into the next program you wish to run, right from the menu!

DMGET.EXE

Another DOS-level batch get utility.  With this utility, you can get answers through a popup window.

DMLIST.EXE

A full-fledged file viewing utility for you and your users.  This is an enhanced version of DMview that includes more technical options, such as hex mode viewing.

DMLOG.EXE

A computer logging utility.  We use this utility to log nearly everything that happens on our network.

DMMSG.EXE

Leave a message on screen and wait for a keypress.

DMPOST.EXE

A screen poster utility.  Great for network notification.  When DOSmenu's internal notice function is not enough, we use this in standard batch files to warn or update users.

DMRUN.EXE

An instant menu pick and run program.  This utility has many unique uses.

DMSECURE.EXE

A computer security program.  When DOSmenu is not enough or is not running, this utility can easily fill the gap to help ensure a secure workstation.  Use DMsaver instead if on a NetWare network to secure with your network password.

DMSTATS.EXE

Show available memory (all types) and available drive space (all drives except A and B) for the workstation.

DMUPDWS.EXE

A powerful utility, like NetWare's WSUPDATE.EXE program, but better!

DMWBOOT.EXE

Warm boots the workstation.

DMYN.EXE

Gets a Yes/No answer from a question in a batch file and acts upon it.

Required Files

Optional Files


Using DOSmenu With NetWare 4.x

DOSmenu works very well with Novell's NetWare 4.x series network operating system.  You have two choices when using 4.x NetWare depending upon whether you are using bindery emulation or not.

USING BINDERY EMULATION

If you are using bindery emulation, then everything works exactly as advertised just like you were using an earlier version of NetWare.  You have no changes to make to the normal DOSmenu setup.

NOT USING BINDERY EMULATION

If bindery emulation is turned off, then you have a couple of adjustments to make in order to fully use DOSmenu's rich features.

Faking Groups At The Menu Level

Because there is no bindery per se, DOSmenu cannot by itself determine if a user is a member of a group.  This is fairly easily rectified however by using the Directory right instead.  When placing users in groups, take one extra step and assign them READ and FILE SCAN trustee rights to a "fake" directory on the server.  We suggest you make one directory off the root called FLAGS.  Under that directory, make additional directories as needed to help DOSmenu determine whether a user is a member of a group.

For instance, let's say you wish to make JOE a member of the ACCTNG group so you can later place this item in your DOSmenu menu:

A Accounting Package

{g=acctng}

accounter

This item normally shows the 'A Accounting Package' to Joe because he is a member of Accntng.  Although this works great when a bindery is available, it does not work without one.  Therefore, if you give Joe trustee rights to a directory called F:\FLAGS\ACCTNG, then Joe will be able to see that directory when he is logged in to the server.  And therefore the following item will accomplish the same purpose using the directory rights:

A Accounting Package

{d=f:\flags\acctng}

accounter

Only those users who can see this acctng directory will see this item on their menu.  So the norm would be to assign trustee rights to a flagged directory for each group you make.

Faking A "Normal" User Name

If the User name at the top right of the DOSmenu menu screen shows more than just the simple user name, like JOE, then NetWare is returning a user path that may include where the user is from on the network.  While this can be very useful information, it destroys DOSmenu's ability to react on a user name within the menu.  Again, there is a simple way around this.  During login, within the login script, simply define a DOS variable to hold the actual user name and then use that variable for DOSmenu operations.  For example, when Joe logs in, the network login script could define the DOS variable, USER, to hold his actual user name, like:

DOS SET USER=%LOGIN_NAME

You must define for DOSmenu, within its DOSMENU.INI file under the [Network] section, what variable will hold the user name for menu users, like:

[Network]

Non-Network DOS User Var=USER

Now, DOSmenu will look to this variable for the user's actual login name instead of the expanded login name offered by NetWare 4.x itself.

After making these two adjustments, DOSmenu will work perfectly with NetWare 4.x, just like it does with previous versions.


Commonly Asked Questions

?	I GET CRYPTIC MESSAGES AFTER LOGGING OUT OF A NETWARE NETWORK.  WHAT CAN I DO TO PREVENT THIS?

Ans:	When you use a batch file to run the NetWare logout command, some of your mappings will be lost before the batch file is completed, leading to strange DOS errors.

For instance, if you used the OUT.BAT to log out and the contents of OUT.BAT were:

OUT.BAT

@echo off

cls

logout

f:

then you might receive one of these:

Cannot execute X:\OUT.BAT

or

Invalid drive specification - X:\OUT.BAT

or

perhaps your DOS prompt goes completely away.

It is easy to prevent this from occurring.  What is probably happening is that you are not in the F:\LOGIN directory when the OUT command is issued or either DOS sees you on another drive, like X:, due to your network search mappings for the F:\LOGIN directory.  In any event, you simply need to make a dummy batch file in a directory that is higher up (before) than the LOGIN mapping, usually F:\PUBLIC.  In this example, make a dummy OUT.BAT in F:\PUBLIC that contains:

OUT.BAT

@echo off

f:

cd\login

out

This will redirect DOS and make sure that it actually is in F:\LOGIN before it runs the OUT.BAT in F:\LOGIN, and then DOS will not be lost after the logout command is issued from that batch file.

If your F:\LOGIN search mapping is already the first mapping on your mapping list, then make the OUT.BAT in F:\LOGIN redirect to another batch file in F:\LOGIN, so DOS will actually be there and run that batch file for the logout instead.  For example, make OUT.BAT look like this:

OUT.BAT

@echo off

f:

cd\login

realout

where REALOUT.BAT is a batch file in F:\LOGIN that contains:

REALOUT.BAT

@echo off

cls

logout

f:

Although the above sounds complicated, it really isn't.  All you are trying to do is to insure that DOS is in F:\LOGIN and running a batch file that is in F:\LOGIN before the actual logout command is issued, so that it doesn't get lost afterwards.  Above all, place your DOSmenu files in your \LOGIN directory (they can be hidden).

?	ON A NETWORK, WHEN LOGGING OUT THROUGH DOSMENU, SOMETIMES USING THE LOGOUT COMMAND (FOR LOGOUT.EXE) LEAVES ERROR MESSAGES ON THE USER'S DOS SCREEN OR TAKES AWAY THE USER'S DOS CURSOR AND PROMPT.  WHY IS THIS AND WHAT CAN I DO?

Ans:	Simple.  As an add-on to the above discussion, just make sure that something like the following two lines are near the top of your MENU.BAT file:

MENU.BAT (near top)

f:

cd\login

This will insure that DOS is in the login directory after running the logout command, and therefore MENU.BAT will still be found so that it can be completed by DOS.

Alternatively, you could place a dummy MENU.BAT in a higher mapped directory, like PUBLIC, that reads:

MENU.BAT

@echo off

f:

cd\login

menu %1 %2 %3 %4 %5

This would accomplish the same thing.

In any case, the other DOSmenu files do not need to be in the LOGIN directory.  But if you choose to place them there, that's OK.  You may even make them hidden with the hidden DOS/ network attribute if you wish.  Just do not make them readonly at the file level.  Setting the LOGIN directory to READ and FILE SCAN only is adequate and will work well.

?	AFTER PASSING THE LOGOUT COMMAND, I STILL GET A MENU AFTER THE LOGOUT IS COMPLETED.  HOW DO I STOP THIS?

Ans:	Add a line at the beginning of your MENU.BAT to check to see if the user is still logged in or not, like:

if not exist f:\public\*.* goto END

This way, the MENU.BAT will quit after logout.

?	WHEN WE TRY TO USE THE GOTO END COMMAND TO GIVE USERS A MENU QUIT OPTION, IT DOESN'T WORK.  WHY AND HOW DO WE DO IT?

Ans:	To use this function, it must be the only command for that menu item.

For example:

Q Quit

cls

goto END

will not work because if there is more than one command, DOSmenu makes the commands into a temporary batch file.  In that case the 'goto END' command would only go to the end of the temporary batch file!  The following will work:

Q Quit

goto end

?	WHY WOULD I WANT TO TURN OFF MOUSE SUPPORT IN DOSMENU.INI?

Ans:	Under some configurations, your DOS mouse driver (MOUSE.COM, etc.) may take some delay in initializing, thereby introducing an unwanted delay factor between menu selections.  This delay would occur because DOSmenu unloads itself between menu commands to give you all of the DOS memory to run programs.  When it unloads itself, the mouse driver is automatically un-initialized by DOS as well.

?	WHY DO I SOMETIMES GET A PARAMETER ERROR WHEN I RUNNING MENU.BAT ON A NETWARE NETWORK?

Ans:	NetWare's MENU.EXE program is probably in your search path (normally in \PUBLIC).  You should either delete or rename this file.

?	HOW DO I USE THE DOSMENU GROUP RIGHT ON NETWARE 4.X WITHOUT EMULATION?

Ans:	You can't.  But you can use the DOSmenu Directory right instead.  Simply give group members trustee rights to a flag directory and then test for that directory in the menu instead of testing for the group.  As an example, if a user is a member of WP group, and you give that group trustee rights to a directory, say F:\FLAGS\WP, then the user will be able to run the menu item if you check the right {d=f:\flags\wp}, while other users, who are not a member of WP and therefore do not have rights to F:\FLAGS\WP, will not have the item on their menu.

?	HOW DO I USE THE %VAR% AS A MENU COMMAND WHEN THE %VAR% MUST BE AT THE BEGINNING OF THE COMMAND?  DOESN'T THAT SIGNIFY A SUB-MENU CALL?

Ans:	Yes it does.  But there is a safe way around that syntax.  Simply place a call statement before the command. DOSmenu eventually does this anyway and one more at the beginning of the line makes no difference to DOS.

For example, if you need the command:

%var%:\apps\paradox

where %var% signifies the drive letter, then enter the command like this:

call %var%:\apps\paradox.

This will work nicely.


Windows Office Menu (WOmenu)

We have another product called Windows Office Menu (it is also known as WOmenu) that is a network menuing system as well.  However, WOmenu is Windows-based!  It is a popular product that can work nicely in conjunction with DOSmenu.

It's functionality is similar to DOSmenu (shared log and meter files, etc.). WOmenu works great with NetWare and most other network systems.  It also functions nicely as a stand-alone product for single machines.

If you are interested in this product, please contact Bremer Corporation. If you wish to try it first, it is available on CompuServe in its fully-functional shareware form.  Look in the NOVUSER/New Uploads (DL1) forum for the file WOMNU.EXE. It is also available on many BBS's worldwide.

WOmenu Main Menu Setup Screen

WOmenu Main Administration Screen

WOmenu Menu Item Editing Screen

WOmenu Main Menu User Screen


WOmenu Main Menu Setup Screen

WOmenu has two modes of operation -- Setup Mode and User Mode.

Windows Office Menu (WOmenu)

WOmenu Main Menu Setup Screen

WOmenu Main Administration Screen

WOmenu Menu Item Editing Screen

WOmenu Main Menu User Screen


WOmenu Main Administration Screen

All WOmenu administration (other than actual menu items) takes place here.

Windows Office Menu (WOmenu)

WOmenu Main Menu Setup Screen

WOmenu Main Administration Screen

WOmenu Menu Item Editing Screen

WOmenu Main Menu User Screen


WOmenu Menu Item Editing Screen

Sub-Menu item setup is similar to this screen.

Windows Office Menu (WOmenu)

WOmenu Main Menu Setup Screen

WOmenu Main Administration Screen

WOmenu Menu Item Editing Screen

WOmenu Main Menu User Screen


WOmenu Main Menu User Screen

Some of the users command buttons are determined by you, the administrator.

Windows Office Menu (WOmenu)

WOmenu Main Menu Setup Screen

WOmenu Main Administration Screen

WOmenu Menu Item Editing Screen

WOmenu Main Menu User Screen


Shareware;Disclaimer;Trademarks;Distribution
Shareware

THIS IS NOT FREE SOFTWARE!  You may evaluate and use this product, but if you decide to make use of it on a regular basis, you must register your copy.

NOTE:  Businesses, government agencies and institutions are required to register this software package before extended use.

We offer several inducements to you for registering.

1	You will receive the most up-to-date copy of the program -- and we update the program on a regular basis.

2	Full mouse support is available in the registered version.

3	We have additional mini-utilities that work nicely with DOSmenu not included in this package that we will ship to you upon registration.

4	You will receive a printer manual.

5	You will never see the shareware message again.

Make no mistake, however -- this is a fully functional version of DOSmenu that is not "crippled" in any way.

Distribution

This is "user-supported" software.  You are hereby granted permission to distribute this evaluation copy of DOSmenu and its documentation, subject to the following conditions:

Shareware DOSmenu may be distributed freely without charge in evaluation form only.  The original PKZIP self-extracting file, DOSMNU.EXE, is the preferred method.

DOSmenu in its shareware form may not be sold, licensed, or a fee charged for its use.  If a fee is charged in connection with DOSmenu, it must cover the cost of copying or dissemination only.  Such charges must be clearly identified as such by the originating party.  Under no circumstances may the purchaser be given the impression that he is buying a registered version of DOSmenu.

Shareware DOSmenu must be presented as a complete unit with documentation.  Neither DOSmenu nor its documentation may be amended or altered in any way without permission of the copyright holder.

By granting you the right to distribute the evaluation form of DOSmenu, you do not become the owner of DOSmenu in any form.

Any other use, distribution or representation of DOSmenu is expressly forbidden without written consent from the copyright holder.

Disclaimer

Bremer Corporation does not warrant that the functions contained in this program will meet your requirements or that the program operation will be uninterrupted or error free.

Bremer Corporation specifically disclaims all other warranties, expressed or implied, including but not limited to implied warranties of fitness for any particular purpose and of merchantability.

In no event will Bremer Corporation be liable to you for any damages, including but not limited to any lost profits, lost savings, commercial damage or other incidental or consequential damages arising out of the use or inability to use this program, or for any claim by any other party.

Trademarks

Trademarks of companies or products mentioned in DOSmenu documentation files are the property of their respective companies.

Ordering Information

Registration Procedures

Upgrade Procedures

Windows Office Menu


Ordering Information

The non-commercial single-user registration fee for DOSmenu is:

Per machine:	$45 US + $10 S&H.

The commercial/government and multi-system site fee for DOSmenu is:

Network environments:

Per server:	$250 US + $10 S&H.

Non-network environments:

Per machine:	$45 US + $10 S&H.

Send a check, money order or company P.O. for the appropriate amount to:

Bremer Corporation

3401 Cactus Wren Way

Austin, Texas 78746

We also accept Mastercard, Visa, American Express and Corporate American Express card telephone orders.

Thank you.

See DMORDER.DOC for a ready-made ordering form.

We also accept Mastercard, Visa, American Express Card and Corporate American Express Card telephone orders.  Send card number, expiration date and sign the order form for card orders.

Windows Office Menu


Technical Support

You can receive information and free technical support by contacting Bremer Corporation in one of four ways:

24-Hr Telephone: 512-328-2465

CompuServe Email: Skip Bremer, 71614,2556

Internet Email: skipb@io.com (tech support)

Internet Email: zboray@io.com (orders only)

NOTE:  The above 24-hour telephone number will at minimum give you a number where the author or another support staff person may be reached during business hours.

Ordering Information


Additional Documentation Sources

In addition to this Windows help file, the following files are located on disk:

DMREADME.DOC

DOSmenu installation instructions.

DMREV.DOC

DOSmenu revision history.

DMORDER.DOC

DOSmenu order form.

DOSMENU.DOC

DOSmenu documentation (similar to this help file).

DMLOGIN.DOC

DMlogin documentation (similar to portions of this help file).

DMNOBRK.DOC

NoBrk prelude documentation for included NoBrk product.


About

DOSmenu

Network Menuing System

Version 7.3b

Copyright © 1994,95

Bremer Corporation

All Rights Reserved

CompuServe Email: 71614,2556

Internet Email: zboray@io.com

Ordering Information

Registration Procedures

Windows Office Menu


Network

An operating system that allows multiple computer workstations access to shared applications and utilities.  DOSmenu is an example of a utility that can be shared on a network.  DOSmenu also works well in a stand-alone environment.


Stand-alone

An environment where each computer workstation is an island unto itself.  Applications and utilities that are to be accessed by each computer workstation must physically reside on each workstations hard disk.  DOSmenu is a utility that can operate in this environment as well as in a shared network environment.


NetWare

A popular network operating system by Novell, Inc. NetWare typically operates on top of MS-DOS or PC-DOS.  DOSmenu works very well in this environment.


DOSmenu

DOSmenu is the chosen name for our DOS-based Network Menuing System.  When we say DOSmenu, we mean the DOSmenu Menu System which is actually started from a startup batch file, normally called MENU.BAT.

DOSmenu Login Utility (DMlogin)


DMutil

DMutil is DOSmenus single maintenance utility that can handle all of your menu setup and maintenance chores.

DMutil Maintenance Utility


Rights

DOSmenu uses Menu Rights to determine whether a menu item (either program or sub-menu) will appear on a users menu and therefore be accessible to that menu user.  This powerful feature allows you, the administrator, to make and maintain one overall menu for all of your users!

All Rights {}

Directory Rights {d=}	Date Less Than Rights {<=}

File Rights {f=}	Hour Greater Than Rights {)=}

Server Rights {s=}	Hour Same As Rights {-=}

Group Rights {g=}	Hour Less Than Rights {(=}

User Rights {u=}	Password Rights {p=}

Node Rights {n=}	Question Rights {q=}

Environment Rights {e=}	View Rights {v=}

Today Rights {t=}	Metering Rights {m=}

Date Greater Than Rights {>=}	Run Rights {r=}

Date Same As Rights {==}	Location Rights {l=}


DOSmenu Login Utility (DMlogin) ;DMlogin
DOSmenu Login Utility (DMlogin)

DMlogin is great utility for helping to bring true order and security to your network during the login process.

DMlogin is NOT required by DOSmenu and DOSmenu is NOT required by DMlogin.  They are, in fact, separate entities, but they work great together!

DMlogin works with nearly any DOS-based network login scheme.  It also works nicely with NetWare's VLM structure as it requires no batch files to enter the login process.

DMlogin acts as a buffer between your user and the actual network login command.  It is extremely easy to set up.

Here is a quick overview of DMlogin:

Small executable size.

No memory overhead taken from network.

Runs with nearly any network environment.

User help screen for login.

Confines users to a controlled environment until logged in.

Built-in SLIST for NetWare (hideable from users).

Runs the actual network login program, so compatibility is never an issue.

Miscellaneous (DMlogin)

Installation (DMlogin)

Password-Protected Exit Option (DMlogin)

Command Line Parameters (DMlogin)

Renaming (DMlogin)

Notes (DMlogin)

Optional Batch Method (DMlogin)

SLIST Server List Function (DMlogin)


Miscellaneous (DMlogin) ;DMlogin
Miscellaneous (DMlogin)

Requirements

DMlogin's only known requirement is that it must run under DOS 3.1 or higher.

Recommendations

We strongly recommend placing the DMLOGIN.EXE file (and therefore the DMLOGIN.INI file) in the network LOGIN directory (\LOGIN for NetWare).

Required Files

The following files are necessary to run DOSmenu:

DMLOGIN.EXE

The DMlogin program.

DMLOGIN.INI

The control setup file for DMlogin.

Optional Files

Although not required, this file can extends DMlogin's usefulness:

DMLOGIN.DAT

The optional password file for exiting DMlogin.

DOSmenu Login Utility (DMlogin)


Installation (DMlogin)

DMlogin is extremely easy to set up.  Simply fill in the DMLOGIN.INI options file and it is ready to use.  Here are the complete setup steps.

FIRST

Run DMLOGIN.EXE once so that it can create its INI file.  It automatically does this for you if it cannot be found.  It must be kept in the same directory as DMlogin.  This file defines the following:

[Network]

Login Command= (a required entry)

Default=login.  This is the command DMlogin runs to log the user into the network.  It should be the actual login program used by your network.  For instance, NetWare uses LOGIN.EXE.  If you have renamed your network login program, place that name here.  If there is any chance that the user will not be able to "find" this program through the DOS path, or that the user will not by default be in the same directory as this program, then place a path in the name.  Here are some valid examples:

Login Command=login

Login Command=f:\login

Login Command=f:\login\login

Login OK Directory= (a required entry)

Default=F:\PUBLIC.  Place the name of a directory here that users can see after a successful login.  Users should not be able to see this directory if they are not logged in. DMlogin uses this directory to determine if the user had a successful login.  On NetWare, F:\PUBLIC is a good choice.  If you do not know what the users actual network drive letter will be, then just place a \PUBLIC instead.

Login Quit Command=

Default=logout.  If you have defined a time limit for user logins (below), then when DMlogin reaches that time within user intervention, it will run this command and then quit.  This could be a batch file for necessary cleanup items in your particular environment.

Normal DOS ComSpec1=

Default=C:\COMMAND.COM.  This optional filename may be used by DMlogin, if defined, when a user attempts to login to the network when they are already logged in and their new login is unsuccessful. DMlogin needs to find the non- network comspec in this case because when the user unsuccessfully tries to login, the network will at the same time log them out if they were previously logged in.  In this specific case, and if you routinely redefine the user's comspec to a network location upon login, then the known comspec on the network server will no longer be available. DMlogin, which needs the comspec to properly affect a login, is smart enough to look for it at C:\COMMAND.COM and A:\COMMAND.COM (if possible).  However, if you keep the

normal workstation comspec in another directory, like C:\DOS\COMMAND.COM, then place that file name and path here.

Normal DOS ComSpec2=

Default=A:\COMMAND.COM.  See the discussion just above.  This is an optional secondary filename you may have as a non- network comspec for some of your workstations.

Attempt Drive A Comspec Search=

Default=yes.  Normally this should be set to yes so that any workstations that boot from drive A will work properly.  However, this can be a problem for diskless workstations.  If so, you may set this option to no and DMlogin will no longer attempt to search drive A (as long as the two options above also do not reference drive A).

Using NetWare=

Default=yes.  If you are running in a NetWare environment, this answer should be yes so that DMlogin can attempt to setup the optional SLIST function.  If not on NetWare, you should change this answer to no (SLIST is not available on networks other than network at this time).

Using Pathworks=

Default=no.  Are you using Pathworks as your network operating system?  If so, place a yes as the answer to this INI question. DMlogin then will add code to be sure LOGON.EXE accepts the password passed to it by DMlogin.  If not using Pathworks, be sure to answer no, or delete the INI line.

[Interface]

Desktop Color=

Default=71 or 70(mono machines).  This number determines the color of the screen's desktop background.  The first number represents the foreground color, and the second number represents the background color.  If you enter only one color, then it will represent the background color and the foreground color will be 0.  Entering nothing or 0 will disable the desktop

background.  For example:

71 = white on blue

7  = black on white

0  = no background

The standard MS-DOS colors are:

0=black  1=blue  2=green  3=cyan  4=red  5=magenta  6=brown  7=white

Information Color=

Default=7.  This single number determines the background color of the information lines on the screen.  You may enter a number from 0 to 7.  The colors are identified above.

Use CRT Border=

Default=yes.  Do you wish your CRT's border to be filled in.  This option does not work on monochrome monitors.

Frame Windows=

Default=yes.  Do you wish the normal program windows to have a frame?

Show Ready To Work Window=

Default=yes.  Do you wish to show the top window messages to users?

Use Your Own Ready To Work Window=

Default=no.  Do you wish to use your own text in the top user message window?

Show Finished Working Window=

Default=yes.  Do you wish to show the bottom window messages to users?  This window is never shown if you have setup a timed login (see below).

Use Your Own Finished Working Window=

Default=no.  Do you wish to use your own text in the bottom user message window?  This window is never shown if you have setup a timed login (see below).

Show Advanced Help=

Default=yes.  If yes, then pressing F1 while already at the main help screen brings up a small advanced help discussing logging into other servers.  If you decide not to let your users access the SLIST function, then you may want to turn this help screen off.

Allow F2 SLIST Function=

Default=yes.  If yes, then the SLIST function will be available on NetWare networks.  See the SLIST Server List Function section above for more.

Show F2 SLIST Command=

Default=yes.  If yes, then the SLIST function command (F2 Server List) shown on the screen.  If you decide not to let your users access the SLIST function (but you and selected other support members still want it), then you should turn this off (answer no).  See the SLIST SERVER LIST FUNCTION section below for more.

Use Fancy Screen Saver=

Default=yes. Whether to use the fancy screen saver (yes) or the normal one (no).  The fancy one is a graphic of a computer terminal while the normal one is a business-like statement.

Screen Title=

Default=Welcome to the network.  You may place your company name or something similar here, if you desire.

Support Number=

Default={nothing}.  If you place a telephone number here, then users will be directed to call that number if they have a problem (on the help screen).

ReadyTitle=

If you answered yes to use your own text above, then you may also change the title, if desried.

Ready1=

Ready2=

Ready3=

Ready4=

If you answered yes to use your own text above, then here is where you fill in the text you wish to use.

FinishedTitle=

If you answered yes to use your own text above, then you may also change the title, if desried.

Finished1=

Finished2=

Finished3=

If you answered yes to use your own text above, then here is where you fill in the text you wish to use.

SECOND

Copy the DMLOGIN.EXE program and the filled in DMLOGIN.INI file to your network login directory (\LOGIN on NetWare).

THIRD

Place the DMLOGIN command in place of the normal network login command in your users AUTOEXEC.BAT files.

DOSmenu Login Utility (DMlogin)


Password-Protected Exit Option (DMlogin)

If you need to be able to abort from this program from time to time as an administrator, then DMlogin can contain a secret password for that purpose.  Then, whenever you press Escape, you will be prompted for this password.  If correct, then DMlogin will simply quit for you.

To make this password, edit a file new called DMLOGIN.DAT that is in the same directory as DMLOGIN.EXE.  Enter a one-line password of 43 characters or less and then press Enter at the end of the line (should be a one-line file).

You can then use DMutil to encrypt this file with the following command:

DMUTIL /C DMLOGIN.DAT

DOSmenu Login Utility (DMlogin)


Command Line Parameters (DMlogin)

The complete command line syntax is

DMLOGIN [USER [/-]] [/#]

USER NAME ENTRY

You can optionally enter the user name on the command line, like

DMLOGIN USERNAME

In this case, DMlogin will move directly to the password fill-in space.

You can additionally add a /- to the end of the line to prevent DMlogin from even appearing, like:

DMLOGIN HOST /-

The /- parameter tells DMlogin that no password is required.  This option is for automatic host machine logins that have no password and need no intervention to get logged in.  A user name must be entered along with this parameter, as shown above.

TIMED QUIT OPTION

You can have DMlogin quit after a certain number of minutes by placing the minutes on the command line, like:

DMLOGIN /5

Any number from 1 to 999 will work for the minutes.  This feature can be valuable for dialin and/or host machine workstation logins on your network.

DOSmenu Login Utility (DMlogin)


Renaming (DMlogin)

You may rename DMLOGIN.EXE to another name if you desire.  If you do so, be sure to rename DMLOGIN.INI (if DMlogin has already made that file for you) and DMLOGIN.DAT (if you elect to use that option) to the same root name that you give DMlogin.

You may wish to rename you network login program, like LOGIN.EXE, to another name, like IN.EXE, and then rename DMlogin to LOGIN.EXE.  Be sure to advise DMlogin of the new network login name (IN in this case) in the new LOGIN.INI file (DMLOGIN.INI must be renamed also).

DOSmenu Login Utility (DMlogin)


Notes (DMlogin)

The only known limitation that DMlogin has is that it can accept user passwords of 14 characters or less.  Passwords greater than 14 characters will not work.  If a password greater than 14 characters is entered, then DMlogin will run the network login command as it normally does, but the user will be prompted by the network login command to enter their complete password (DMlogin will not pass it).

For the extra security conscious, DMlogin has been tested with sniffers and lanalyzers to be sure that the user password passed by DMlogin to the network login program can not be seen as traffic and therefore is completely secure.

DOSmenu Login Utility (DMlogin)


Optional Batch Method (DMlogin)

If the normal way of using DMlogin causes problems with your environment space or other spurious problems, the batch method will solve your problems.  This method should not be required in most cases, but due to the aggressive way DMlogin works normally, you may find the need to use this approach.  The batch file approach give the same end result to you as an administrator, only you have to create three batch files to support it.

Instead of running DMlogin directly, you (and/or your users) run a batch file that must look essentially like this:

MYLOGIN.BAT	;main batch that runs DMLOGIN.EXE

@echo off

f:	;make sure user is in the login directory

cd \login	;"

dmlogin %1 /batch	;this program (/batch required for batch method)

call %_DMLOGIN%	;dos parameters name (defined in INI file)

Here are the additional entries required in the DMLOGIN.INI file for this method:

Optional Login Command=

Default=_login.  This is the batch file that DMlogin runs to start the login process.  You must create it and it should basically look like this:

_LOGIN.BAT	;batch run for normal login

@echo off

login %1 %2	;network login.exe program (could rename)

if exist f:\public\*.* goto END

dmlogin /error	;brings up a network login user error screen

mylogin %1 /batch	;run main batch file again

:END

Optional Login Quit Command=

Default=_logout.  This is the batch file that DMlogin runs to start the logout process.  You must create it and it should basically look like this:

_LOGOUT.BAT	;batch run for forced logout

@echo off

logout	;network logout.exe program (could rename)

mylogin /batch	;run main batch file again

Optional DOS Variable=

Default=_dmlogin.  This is the variable that DMlogin uses to communicate with these batch files when running in batch mode.

Basically, you run MYLOGIN.BAT which runs DMlogin.  Then DMlogin quits to _LOGIN.BAT or _LOGOUT.BAT depending on whether there is a time-out (you entered a quit time variable on the command line).  _LOGIN.BAT tries to login to the network, and if not successful, lets DMlogin display an error message and then starts the process again. _LOGOUT.BAT, in the example above, logs out of the network and also starts the process again.

This is the way DMlogin originally worked.  But VLMs prohibit it due to Novell's neat way of changing the actually login directory during login...If you are not using VLMs, and you are having trouble with the more direct normal method of running DMlogin, then this method will definitely work for you.  It's you choice.  Both accomplish the same purpose of providing a professional, secure login environment for your users.

DOSmenu Login Utility (DMlogin)


SLIST Server List Function (DMlogin)

This section is for NetWare users only at this time.

DMlogin can, if you desire, provide a pop-up pick list of available servers for login.  This function provides basically the same information as found in the NetWare SLIST.EXE command.

This feature is turned on in the DMLOGIN.INI file.

When this feature is turned on, the user login name will always be prefaced with a server name and a slash / once F2 is pressed, else the server name remains hidden.  The user can only edit the user name portion of the input line, never the server name.  The user can change the server name by pressing the F2 key and then picking a new server from the list for login.

The default server name shown on the login name input line is always the preferred server (if defined) or the actual server to which the user is attached.

Every time the user moves between the two input lines, and every time DMlogin comes out of the screen saver mode, this list is updated from the network.  Therefore the list is basically always accurate.

This function is completely optional.  If you decide not to allow the use of this function for your users, simply turn it off (or hide it) with the appropriate switches in the DMLOGIN.INI file.

Perhaps the only drawback for non-VLM users in using this method is that the SLIST functions are not available with this mode because logging into a different server would guarantee a batch file missing error and a lost prompt.

DOSmenu Login Utility (DMlogin)


DMlogin

DMlogin stands for DOSmenu Login, a login utility used to perform a controlled login to networks.  Although it ships with DOSmenu, DOSmenu does not require it and DMlogin does not require DMlogin.