--------------------[Attribute Manager V.0.71.62 beta]-----------------------

-------------[(c) 1997 Alessandro Cantatore * Team OS/2 Italy]--------------

This program is freeware and it is beta code. Anyway it should be safe and
not able to cause any loss of data. You can freely use it until December the
31th 1997 or as soon as a new version will be released.

As a standard disclaimer:

Under no circumstances the author is liable for any loss or damage.
The use of the program implies acceptance of the conditions stated above.

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

What is new with this release
=============================

- Bug correction: the program entered an endless loop when
  no %TMP% or %TEMP% directory was specified in the config.sys
  file or if the path specified was invalid.
- Modified pop-up menu code. Now it will work properly
  even if the mouse buttons have been swapped.
- Modified bubble help. Help window will be shown as
  soon as mouse is moved over a button. Bubble help
  may be disabled through the preferences notebook
- Modified file list box. Extended selection works
  like in folders: when multiple files are selected,
  clicking on an already selected file will deselect
  all other files.
- The Undo function, in the Edit submenu, now works.
- The buttons in the Save dialog which appears when
  the selection of a new file deselect previous selected
  files (whose attributes have been modified) now work
  as expected. The indexes of previously selected files
  are stored in memory and so the previous selection
  can be restored when cancelling a new selection or
  file drop.
- The window title is updated every time a new selection
  or double click (according to the user preferences) is
  performed.
- When in "nobrowse" mode the window maximize button is
  removed since the window height can't be resized.
- Closing the application through the task list or by system
  shutdown now is properly managed and a "Save/Discard/Cancel"
  dialog is displayed if any attribute has been modified.
- Preferences dialog now uses 8.Helv if it detects OS/2 version
  2.xx or 3.

    
Introduction
============
The program allows to easily add, edit or delete the .SUBJECT, .COMMENTS and
.KEYPHRASES extended attributes, ordinary attributes and time/date stamps of
one or more files.
I have a lot of archived files I downloaded from the internet and often cannot
remember their content or cannot find a particular file. Attribute manager
allows to add a small description (it can be as long as about 32 KB in this
release) and some "Key Phrases" you can use when searching files.
Even if the "Find" button is not yet operative in this release, the OS/2
built-in Find utility allows file search based on the content of the
"Key Phrases" extended attribute.
Suppose you run a BBS and have archives of various kind of applications for
different operating system, you could use various key phrases describing for
example:
-1) the author of the application
-2) the operating system it is designed for
-3) kind of application (file manager, game, etc.)
-4) your evaluation (good application, useful, etc)
-5) anything else
This way, through the object find utility, you could automatically create
folders containing all your "OS/2 text mode file managers", or all
applications of your favourite software author and so on...


Installation
============
Just put it where you like and run it. It doesn't need any runtime library
(i.e. DLL files) other than the operating system DLLs and won't mess with
your INI files!
All the informations needed by the program will be stored in its own INI
file (ATTMAN.INI). Nothing will be added to OS2.INI or OS2SYS.INI.
If you want to use a different INI file, you can pass its name as argument
using the "P" option. The option is case insensitive and can be introduced
either by "/" or by "-". So if you want to store your program preferences
in "D:\PROGRAMS\MYINIFILE.INI" and open the program with the attributes
of "C:\OS2\BITMAPS\*.GIF" you must type:
ATTMAN -pD:\PROGRAMS\MYINIFILE.INI C:\OS2\BITMAPS\*.GIF
The arguments cah have any order: the profile name can be specified either
before or after the file name.
You can create different program objects using different INI files. Just
type in the object settings "Parameters" entry field:
-pD:\PROGRAMS\MYINIFILE.INI %*
(change D:\PROGRAMS\MYINIFILE.INI to the path\name of the INI file you
want to use).


Starting the program
====================
You can start it from the command line, double click on its icon, or
just drag a file/directory on its icon.
In future I could add as option the chance to start it by the contetextual
menu of any file object.
You can select files or directories in the "Browse" window (click on the
first button in the tool bar or select File->Select->Browse from the pop-up
menu) or by opening folders on your desktop and dragging files or directories
on the application title bar.


Help
====
At the moment there is no on line help. To tell the truth there are
still a lot of not yet implemented features so do not wonder if some
menu option or button doesn't work.
If you move your mouse over a toolbar button you'll get
some explanation about that button.
Report and Find still do not work.


How it works
============
It is like a file dialog box: just select a file and edit the attributes.
If you have changed some attribute and select a new file or directory
a dialog box will ask you if you want to save or discard what you modified.
Click on the Save button to avoid that.
If you chosed to work with the Extended selection option (see "Preferences")
you can select one or more files in the same way you do that with other
WPS objects:
 - swiping the mouse pointer on the "File:" list box while pressing down MB1
   (mouse button one)
 - clicking with MB1 while keeping the "Ctrl" key pressed down for selecting
   not-contiguous files
 - clicking with MB1 while keeping the "Shift" key pressed down for selecting
   all files betwen the previous selection and the current selection
The file specifics and attributes showed concern the topmost selected file.
If you want to set the same attribute for all selected files you must click
on the "Save" button in the main window. A dialog box will then be displayed
to allow you to choose which attributes to set for all the selcted files.
For instance if the selected files have different "comments" and you want them
to share the same "key phrases" without affecting "comments" or any other
attribute, you must select only the "Key phrases" check box in the "Multiple
File Save" dialog.
The first button on the left allows to show/hide (browse/nobrowse mode) the
drive/path/file selection window. For the same purpose you can use the menu
by clicking with mouse button2 anywhere in the window and selecting:
File->Select->Browse.


Preferences
===========
To open the preferences notebook select from the menu:
Options->General Preferences.
(New options or just enabled options are introduced by "*" rather than by "-")


[Common buttons]

- Undo:              It reverts the various buttons, entry fields, etc., in
                     the current page, to their previous state.

* Default:           It reverts the various buttons, entry fields, etc., in
                     the current page, to the default state.

- Help:              Not working yet.

[General Page]

- Disable logo:      allows to hide/display the startup logo.

- Enable toolbar bubble help    displays bubble help when the mouse is
                     moved over a button

- Subject length:    unchecking the "Default" button you'll be able
                     to specify a non default lenght (the default is
                     40 characters and the maximum is 255)

- Read only mode:    If this is checked you can read the attributes, but
                     cannot modify them.

* Save last path:    It will save last selected path when you close the
                     application and start it from there if you double click
                     on the application icon. If you start the application
                     by dragging a file on its icon, it will started in
                     the file path rather than the previous one.

* Font:              The button displays the font dialog. To set a new font
                     you can as well drag it on a free region of the main window
                     or on the window border from the font palette.

[Selection page]

- Extended file selection:     Allows to select multiple files.

- Select all files in directory:     If the program is opened by passing it
                     a directory name as argument, if the "Extended selection"
                     is enabled, all files contained in the directory will
                     be selected.

- Single mouse click: Allows to select drive/directory/file with one mouse
                     click rather than with a double click.

- Show file selection window: If checked the window is displayed in its full
                     size. When it is unchecked only the attributes of the
                     current file are diaplayed.

- Only directory:    If the previous checkbox is enabled the window will
                     be displayed in its full size only when the argument
                     of the program is a directory.

[Import page 1 of 2]

The following options haven't yet been fully tested.

* Auto import        If the currently selected file, or the first of the
                     selected files, doesn't have any Subject or Comment
                     description the program will look for a description.ion
                     file, for file_id.diz if the current file is an archive
                     of known format, or for a different kind of description
                     which could be extracted by the user defined options
                     importing it into the field specified in the "Import to"
                     box.
                     Note:
                     This works only for one file even if more than one file
                     are selected.
                     The description is automatically saved in the EAs unless
                     "View only" (see next option) or "Read only" are checked.

* View only          The imported descriptions are shown in the Subject or
                     Comment fields, but aren't automatically saved in the EAs.
                     If the application is not in "Read only" mode (see Preferences
                     General Page) you can save the imported description in the
                     EAs by clicking on the Save button in the toolbar or by
                     selecting File->Save attributes from the pop-up menu.

*Import to           Sets the default field where imported descriptions are
                     displayed (and saved). You can override this by selecting
                     a different import target by its contextual menu: i.e.
                     if you select Edit->Import from the Subject entry field
                     pop-up menu descriptions will be imported there.
                     Auto select lets the program look for the most suitable
                     field: if the description is longer than the maximum
                     Subject length (see Preferences - General Page) it will
                     be imported in the Comment field. (In the next release it
                     will check for line feed cahrs too).

* Default import mode    Sets the default source of file descriptions.
                     When "Automatic" it will check for 4 DOS - 4 OS/2 description
                     files, if it fails, will check if the file is a known archive
                     type and if a suitable description is in the archive, last if
                     you defined your own import program it will try to get a
                     description through it.
                     "Other" displays an "Open file" dialog in ordre to allow you
                     to import any text file.
                    
                     
* 4 DOS - OS/2 description file       you must specify here the name used by the
                     4 DOS - 4 OS/2 for file descriptions.

* User defined       If you need to import descriptions from a particular file
                     you could write a REXX script (I will include some sample
                     in the future releases) or use a suitable program. The
                     description will be imported from a file generated by the
                     program you defined.
                     "File to import:" is the name of the output file created
                     by the user defined program.
                     "Program:" is the executable name and must include the full
                     path unless the program is in %PATH% as defined in CONFIG.SYS.
                     "Parameters:" specify the parameters you need to pass to the
                     program you defined. Some special characters are used:
                     %d       means a temporary directory created by the application.
                              The output file, as defined in "File to import:"
                              must be generated here unless you specify its full
                              path.
                     %f       means the current file including the full path (as
                              displayed in the application title bar)
                     %i       means "File to import:"
                     %p       means the full path of the current file
                     %%       means the percent ("%") char
                     Chars following "%" are case insensitive so "%D" has the same
                     meaning of "%d".
		    
[Import page 2 of 2]

* Archive type       In this box are listed all the archive extensions used by the
                     program to tell if a file is a "known archive".
                     You can add or remove extensions or edit the respective fields.
                     The Update, Add and Remove buttons are enabled as suitable to
                     avoid incorrect user operations.
* Update button      Will be enabled as soon as you select an item from the
                     "Archive type" list box. It allows you to edit the settings
                     relative to an already listed file extension.
* Add button         Allows to add data for a new type of archive file. It is
                     disabled if some field is empty or the text in "New type:" is
                     already listed.
* Remove button      Will be enabled as soon as you select an item from the
                     "Archive type" list box. It allows you to remove an "archive
                     type" from the list.
* New type           In this field you must specify the extension of an archive
                     file (for instance "*.rar" or "*.arj", etc.).
* File to import     In this field you must specify the name of the file that will
                     be extracted from the archive and imported as a file
                     description. It should usually be "FILE_ID.DIZ".
* Program            You should specify here the unarchiver program to use with
                     files whose extension is specified in "New type:".
                     You must specify the executable full path unless it is in
                     a directory mentioned in the CONFIG.SYS PATH statement.
* Parameters         These are the parameters needed by the program you specified
                     to extract "File to import:" files from file of type
                     "New type:".
                     See Preferences - Import page 1 of 2 for conventions about
                     parameters.
                     
[Report page 1 of 2]
The following options haven't yet been implemented.

- Auto report        Allows to generate a report with all file data and
                     attributes. The report will be showed in a separate
                     window. It will be possible to print it and save it
                     to file. If this checkbox is selected, usually, both
                     the main program window and the report window will
                     be displayed. If this checkbox is unchecked it will
                     always be possible to generate a Report by selecting
                     the button in the toolbar of the main window or by
                     selecting from the menu File->Report.

- Only directory     The report will be generated only if the argument is
                     a directory.

- Show               The report window will be shown besides the application
                     main window.

- Hide               The report will be generated but won't be visible.

- Show only report   Only the report window will be visible. It will be possible
                     to generate directory/file report by dragging file and
                     directories on the report window title bar.

- Selected files     Only the selected files will be included in the report.

- All files          All files in the current directory will be included
                     in the report.

- Full Tree          All files in the current directory and, recursively,
                     in all its subdirectories will be included in the
                     report

[Report page 2 of 2]

- Format             The report will be formatted by the program you specify
                     here (it could just be a REXX script). This way you could
                     easily create DESCRIPT.ION or FILE.BBS files from subjects
                     and comments EAs.

- Auto save          Generated (and formatted) reports will be saved automatically
                     in a file you specify in the current directory or any other
                     specified directory.

[Find page]

(it doesn't work yet) allows to specify an external program for the find function.


Menu
====
There are two pop-up menus. Clicking with mouse button 2 on the edit controls
(Subject entryfield and Keys/Comments fields) you will get the most complete
menu. The menu you'll get by clicking elsewhere will not have the Edit
submenu.

Submenu File
Select->Browse       Show/hide drive/directory/file selection window
Select->Select all   Selects all files in the current directory
Select->Deselect all Deselect all files
Select->Mask         Allows to specify a selection mask throuh the Mask selection
                     dialog. See Mask selection section for more details.
Refresh              Refresh the contents of the drive/directory/file selection
                     window.
Save attributes      Saves the current attributes.
Report               See Preferences: [Report page]
Find                 Not yet implemented
Exit                 Terminate the application.

Submenu Options
General Preferences  See the Preferences section
Font                  "   "       "         "
Read only mode        "   "       "         "

Submenu Edit
   Undo              (not yet implemented)
   Cut-Copy-Paste    work as usual
   Clear             delete selected text
   Import            will import file description from the selected source
                     to the target that originated the pop-up menu.
                     If there are multiple file selected and the application
                     is not in "Read only" or "View only" mode, file descriptions
                     will automatically be saved in the EAs of all selected files.
                     For instance, if you have a directory with archived files
                     you downloaded from internet, you can automatically import
                     all file_id.diz descriptions (if available) in the archives
                     EAs by selecting all files (from the pop-up menu:
                     File->Select->Select all) and then selecting
                     Edit->Import->File_id.diz from the Subject or Comment pop-up
                     menu.

Submenu Help         not yet implemented


Mask selection dialog
=====================

You can select multiple files by this dialog. You can either enter the file name
in the entryfield part of the combo box or select from the list box the file
specifics that suits your need.
Items can be added or deleted to the list box through the Store and Delete
buttons. Data are stored in the application INI file.
Clicking on OK will confirm the file selection. Clicking on Cancel or closing
the dialog won't perform any action in the file list box.


Known limitations
=================
-1) The inner controls will not be resized correctly if the maximized size
    of the windows is limited by the "Warp Center" of OS/2 4.x.
-2) I've used standard "list box" controls so there could be problems if
    you have large amounts of files in your folders (32765 files with
    OS/2 Warp 3 or 4 - I'm not sure about OS/2 2.x).
-3) The code has not yet been optimized, neither for size not for speed.
    The program works very well with my P100 machine, and I think the speed
    could be acceptable even with a 386 (let me know if you have any problem).
    It still does all work in a unique thread, so some operation like
    modifying attributes of a large number of file, will not allow you to
    interact with the system until the end of it.
    The program has not been packed, but if you have warp 3 or 4 you could
    shrink it up by LXLITE. (It is a free utility by Andrew Zabolotny.
    You can download it from:
    hobbes.nmsu.edu/pub/os2/util/archiver/lxlt118.zip).  
-4) Since control size depends on the system default font size rather than
    on the font used by the controls or by their owner window, the program
    window could be too large with the default system font.
    In a future release I'll add a routine to make all controls automatically
    resize themselves according to the size of the font used in the window.
-6) Setting automatic import or importing descriptions for multiple files
    will often display some annoying error message box. In future I'll
    include a status bar for messages regarding the current file and a log
    window when operations are performed on multiple files.

What will be in the future releases?
====================================
I will implement the still missing features as soon as possible.

For any suggestion or bug report write to me:

Alessandro Cantatore - Team OS/2 Italy
email:    alexcant@tin.it
          alex.cant@iol.it
fidonet:  2:335:705/2