home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 3 Comm
/
03-Comm.zip
/
UED201PB.LZH
/
UED_BETA.DOC
< prev
next >
Wrap
Text File
|
1992-01-20
|
13KB
|
292 lines
UEDit Version 2.01 Beta
Maximus-CBCS User Base Editor
(C) Copyright 1990-1992 by CodeLand, All Rights Reserved
Written by Colin Wheat of 3:690/613
CHANGES FOR VERSION 2.01
* 18/01/92
* Merged the initial OS/2 port code.
* UEDit now includes an index by telephone option on the index menu.
* Added a '-F<name>' command line switch to specify an alternate USER.BBS
file name, for those people wanting to run multiple user file systems.
* Added capitalisation (fancy string) to the password string during Edit
saving.
* Changed the password character mask to allow all characters for our
high bit european friends.
* Reformatted the Edit screen to allow for planned new fields in the user
record. Had to lose the Expiry Action display in the process. Reformatted
the Browse and Global screens to match. The three main screens are now one
row larger.
* Note that ExtAdd will likely be dropped from the distribution release
once Scott includes the First Call Date field. If we keep it I'll need to
rewrite/reallocate it's purpose in life ;-).
* Added a Credit set deletion flag to the Global deletion system. This setting
is stored in the configuration file.
* Removed excess code from the Browse screen pan function, reducing the pan
screens from four to two. TAB and <shift>TAB both now wrap between
the alternate displays.
* 05/01/92
* Added date format display selection on the configuration menu. The setting
is stored in the configuration file.
* Fixed the EXpiry edit screen date entry to skip over the '/' characters
during editing. Added out of range check for year values less than 80.
Current allowed year range is (19)80 - (19)99. This is a data format
limitation. Changed the field entry key masks to allow ' ' (space)
characters for day, month and year, to avoid problems with selectable
date formats.
* Changed the Edit screen Edit command's date and time field entry to work
as the EXpiry modification above.
* Fixed a possible display buffer overrun in the statistics display screens.
* Changed record addition CLS status to default to ON.
CHANGES FOR VERSION 2.00
* Added a continue prompt to the global delete Clear and Delete options.
* Added prompt to the Append New Record option.
* Added a 'Allow Expiry Set Deletion' setting to the global delete screen.
* Added a command line switch for the UEDit configuration file name.
-C<name> e.g. -cuedit.cfg. UEDit.Cfg is the default. This is a file name
only, it must reside in the UEDit executable directory.
* Added an auto purge mode for batch file automated maintance. New command
line switches are -P and -S#[R]. The old -S CGA snow reduction is now
the -R switch. -P tells UEDit to auto run the sort routines(if -S is used),
the global delete routines, and the purge base routines. -S is optional,
and specifies a sort method to be used during the user base rewrite.
e.g. -S2 means sort by Lastname, -S3R means sort by first name in reverse
direction.
* Added sound to the global delete settings, and the append and purge commands.
* Added a -A Alternate colours command line switch for the Edit, Browse, and
Pop-up menu systems.
CHANGES FOR VERSION 1.53
* Changed menu colours on the mouse speed setup screen, and the Expiry screen.
* Fixed silly bug in the record locking. UEDit now DOES write to disk without
share loaded ;-). Thanks to Daniel Prosser for pointing this out.
CHANGES FOR VERSION 1.52
* Added DOS sound functions, previously sound was only functional from
within DESQview. Wrote MaxPlay for the Maximus tunes file during
testing ;-).
* Rewrote and added the statistics functions from v1.02. to the main menu.
One new screen called TOP SYSTEM USERS, is a top ten users weighing all
of total calls, uploads, and dnloads.
* Removed indexing for the secondary user files, saving 64k in memory usage.
UEDit currently needs approx. 200k to power up safely. Additional usage
for functions such as indexing and purging is dependant on record number.
The Memory Available option on the statistics menu should be used as a
guide for memory requirements. Check it's reported figure _after_ indexing
on a few of the sort fields.
* Lowered the maximum number of records from 16384 to 8192, to save memory.
Added a too many records check, with an instant abort to the DOS prompt.
* Added a low memory check and abort at startup. Cleaned up the window open
error returns. Fixed memory deallocation order in several places to aid
memory release in low memory situations. Fixed a problem where the last
index array (if any) was not released during a File Order index.
* Removed the '*' command lastread pointer display from the Edit screen.
Replaced it with an undocumented command option /d, which causes the L.R.
pointer to display below the description window on the Edit screen.
* Added an operator query before the user base purge command.
* Fixed the sort routines to preserve the last record order during non-unique
key indexing. Side effect is slower sorts for the non-unique key indexes. Not
a great problem on 386 machines; a quick run on an XT with 512 records gave
a Location sort time of 46 seconds. Hopefully XT operators are accustomed to
waiting around :-). Modified the sort item swapping code for a slight speed
increase.
* Added a mouse sensitivity setting option to the configuration menu. Settings
are stored in the CFG file, meaning a CFG structure change with v1.52.
* Added record locking during user file writes.
* Designed and added a new Global delete by date screen. Hacked around with
the UEDit colours slightly.
* Wrote a small utility for online use with the external record description
system. Called EXTADD, it can place the current system date into a new users
description field, or optionally, the contents of an external text file,
possibly written with Maximus mecca commands during the newuser logon.
It's currently running here with the following mecca command line at the top
of the newuser welcome screen:
[xtern_run]@extadd.exe -n%k -r%u -uc:\bbs
-n supplies the maximus task number, -r supplies the user record number zero
based, and -u is the path to the Maximus user files.
Setup as above, EXTADD enters a line such as the following into the user
description field. Note the '@' character in the above command line. It IS
required, see the Maximus documentation for more details.
* Record Created: Thu Dec 05 02:27:35 1991
Using the -f<path> option would write the contents of the specified file
into the record description field instead.
EXTADD help screen:
EXTADD v1.00 - Maximus Online User Descriptions Addition
(C) Copyright 1991 by CodeLand, All Rights Reserved
Syntax: EXTADD [-switch -switch ... ]
-U<path> Path to Maximus-CBCS User files
-F<name> Optional import file path & name
-N Task number, default is zero
-R User record number; zero based
-D Date format mm/dd/yy; default: dd/mm/yy
-? Program help screen
EXTADD updates both the User.Bbs file, _and_ the lastuser file. The lastuser
file update is necessary for use online so that Maximus can be told to
reread it, so that the external description pointer in the user record is
not lost at user logoff (Max updates the user record at that time).
Because of this lastuser updating EXTADD is suitable for online use ONLY.
I've not spent much time or thought on this function, ideas and suggestions
are welcome.
CHANGES FOR VERSION 1.51
* Added optional description strings for the privilege levels. These display
from the Access option on the Edit window. Strings are edited from the CFG
menu, and saved in the UEDit CFG file.
* Added a version check to the CFG file read function. Old CFG versions are
not loaded, and deleted.
* Changed the left margin deleted and permanent tokens on the Browse window
to IBM graphic characters.
* Put the Edit window quick password hide toggle (W) back in.
* Removed the 'Select User File' option from the file menu for the present.
* Added Maximus-CBCS optional record descriptions. User descriptions are
stored in a file called USER.EXT in the Maximus directory. The usr
structure 'extra' field is an offest into the file. The first word in the
record is a copy of the user record lastread pointer. The second word is
the length of the description including the terminating NULL. The high
four bits of the length word are reserved for control information. Currently
0x0 = valid description, and 0x8 = deleted description. This format allows
descriptions up to 0xFFF (4095 Dec) in length, though UEDit limits it's own
description generation to 165 characters for display reasons.
USER.EXT format:
00 'M' "M!" is the file identification
01 '!'
/ 02 0x0005 usr.lastread_ptr==5 <-- usr.extra points here
| 04 0x0003 Length of description including the NULL
Record 1 | 06 'H' \
Active | 07 'i' |- Description text
\ 08 '\0' /
/ 09 0x0006 usr.lastread_ptr==6 <-- usr.extra points here
| 11 0x8009 Length of description including the NULL
Record 2 | 13 'D' \
Deleted | 14 'e' |
| 15 'l' |
| 16 'e' |
| 17 't' |- Description text
| 18 'e' |
| 19 'd' |
| 20 '!' |
\ 21 '\0' /
/ 22 0x0007 usr.lastread_ptr==7 <-- usr.extra points here
| 24 0x0009 Length of description including the NULL
| 26 'T' \
| 27 'h' |
| 28 'e' |
| 29 ' ' |
Record 3 | 30 'B' |- Description text
Active | 31 'O' |
| 32 'S' |
| 33 'S' |
\ 34 '\0' /
35 EOF End of file
UEDit attempts to reuse free space in the descriptions file when writing
new descriptions or updating descriptions to a larger size. See also the
EXTPack executable and Doc file. EXTPack rewrites the USER.EXT file in the
user base order, and removes unused space, adjusting the USER.BBS 'extra'
fields as required. It makes no other change to the main user base. EXTPack
is also capable of exporting and importing the descriptions database, in
both text format, and ascii delimited format. This is to enable quick and
simple setup and maintance of the user descriptions system.
The TAB key from the Edit window toggles display of record descriptions.
This is the same flag appearing on the CFG menu, so that the default display
is saved in the CFG file. Editing descriptions is via the Edit command, when
the descriptions are in view. Deleting a description is done by saving a
blank description. Records possessing a description are flagged on the Edit
window by the 'EXT' field at the end of the City field, and on the Browse
window by a token on the right margin.
* Fixed a screen formatting problem on the Browse window introduced in v1.50.
* Added panning ability to the Browse window. TAB, and Shift-TAB will change
which record fields are on display, by moving left or right. There's more
fields to add when time permits.
* Added file access check to the startup routines, allowing graceful abort
for share access denial.
* Blocked the unnecessary disk scan for name fields between first and last
name sorts.
* Cleaned up the pop-up menu display, removed the debug memory array load
flags from the Index menu.
* Fixed bug in the browse code that failed to rewrite the display after
a sort direction change for the same sort type.
* Changed from qsort to a shell sort. Smaller code, seems as fast. Modified
the firstname/lastname sort code for more speed.
-=-=-=-=-=-=-