@Database DLGftp.guide
@$VER: 1.0
@Author Piergiorgio Ghezzo
@(C) 1995 by UNIVISION
@wordwrap

@node "Main" "DLGftp v1.0"

                    @{b}DLGftp@{ub} v1.0 by @{i}Piergiorgio Ghezzo@{ui}

           Permits to access to CDs simulating a FTP session

                         @{u}@{fg shine} Manual for the Sysop @{uu}@{fg text}



                          @{" + " link "Descrizione" 0}  Description
                          @{" + " link "Requisiti" 0}  Requirements
                          @{" + " link "Installazione" 0}  Installation
                          @{" + " link "Configurazione" 0}  Configuration
                          @{" + " link "Uso" 0}  Use of the program
                          @{" + " link "Ringraziamenti" 0}  Thanks
                          @{" + " link "Registrazione" 0}  Registration
                          @{" + " link "Autore" 0}  The Author
                          @{" + " link "Futuro" 0}  Program's future
                          @{" + " link "History" 0}  History

@endnode

@node "Descrizione" "Descrition"

  @{b}DLGftp@{ub} is a module for Dialog that permits to access to devices (CD or Hard Disk) simulating a  FTP session. The files will be copied into the user's directory ready to be get from.

  The program uses fully the @{b}dlg.library@{ub} so it's compact and fast; but it can't be launched from the CLI like a normal program.


  @{b}This is a short list of functions offered by the program:@{ub}

 o  Possibility to specify a @{b}minimum level of access to the program@{ub}.
    You can do this from Dialog too, but in this way is
    more nice (no password is get from the user
    in the moment of login).

 o  Visualisation before and after login of two @{b}text files@{ub} precedently
    written by Sysop

 o  @{b}Very simply command interface@{ub} but efficient with every 
    useful commands to work on volumes. @{b}Help in line@{ub} avaible
    for every commands.

 o  Management of a detailed help by the view of an
    external file.

 o  @{b}Possibility to visualize@{ub} (by not given but easy to be found 
    external programs) @{b}ipertexts in AmigaGuide format and contents of@{ub}
    @{b}archives@{ub}.

 o  Management of environments (compatible with the programs ConDir
    Blitz-CD)  @{b}to assure an exclusive access to the CD-ROM@{ub}, mainly
    useful in case of multy-line BBS with multiple CD-ROM reader.

 o  Possibility to specify for @{b}every@{ub} volume a level of access, a
    minimum level for transferring files in the private area and a base
    directory where the user can accede.

 o  Possibility to specify for @{b}every@{ub} volume the view of a file
    during the access and the name of a file to search inside every new
    directory where the user enters.

 o  @{b}Verification of the effective CD's presence @{ub} at the moment
    of the access request, to consent the periodical
    rotation by the CDs in line.

 o  @{b}Possibility to manage a series of accounts@{ub} that can rise 
    the user's access level at the moment of login, to assure the
    access to certain volumes that generally cannot be used,  or
    only at higher levels.

 o  @{b}Notification on file@{ub} of every actions done by user.

 o  Files tranferred by the user in his private directory
    @{b}can have the flag FREE tagged on@{ub}.

 o  @{b}Optional control of the user's directory dimension @{ub}
    before to transfer a file.

    and @{b}a lot of other things@{ub} that you'll discover trying it...
@endnode

@node "Requisiti" "Requirements"

   @{b}DLGftp@{ub} works on Amigas with every processor; 
anyway in the archive is present an executable version compilated for use with 68030. 
To use it you need the program @{b}Dialog@{ub} correctly installated (otherwise 
the program has no sense to exist).

  @{b}MoreText@{ub}        or any other program that can visualize
                  amigaguide files directly on console.

  @{b}ArcMaster@{ub}       or any other program that can manage
                  archives using the standard output.

   @{b}DLGftp@{ub} is mainly advised to accede a CD-ROM, but can be used with Hard Disk too. 
Memory usage is very low.
@endnode

@node "Installazione" "Installation"

  The @{b}DLGftp@{ub} installation is very simply, infact you can add a voice in the needed men calling the program in overlay without parameters
and as Dialog module (just not in CLI modality).

  The configuration file must be copied in the @{b}DLGCONFIG:Misc@{ub} directory
and modified second your own needs.
@endnode

@node "Configurazione" "Configuration"

  @{b}DLGftp@{ub} isn't so difficult to configure:
it's sufficient to modify the @{b}DLGCONFIG:Misc/DLGftp.CFG@{ub} file
second your own needs; anyway it's avaible an @{"example" link "Esempio" 0}.

  Now there's a list with comments of every parameters present 
in that file. It's possible to comment the parameters that you don't need
with a ";" character.


@{b}LOGNAME@{ub} <file>

It shows the file where to save a log of every users' actions. You must specify the complete path.


@{b}INTROFILE@{ub} <file>

It shows the text file that will be visualized when you call the program; if you don't specify it, no text will be visualized. The file can contain every switches used by Dialog. You must specify the complete path.


@{b}INFOFILE@{ub} <file>

It shows the text file that will be visualized just when the login sequence it's complete; if you don't specify it, no text will be visualized. The file can contain every switches used by Dialog. You must specify the complete path.


@{b}HELPFILE@{ub} <file>

It shows the text file that will be visualized at the extended help request.


@{b}ACCESSLEV@{ub} <level>

It shows the minimum level that the user must have to accede to the program. Default is value 1.


@{b}FREEFILES@{ub}

If you use this parameter every files copied in the user directory will have the flag FREE activated.


@{b}LOCKSESSION@{ub}

If you use this parameter the program allows the access only to one user for time. You must use it in case of multiline BBS with multiple CD reader.


@{b}NOCHECKDIR@{ub}

If you use this parameter the program doesn't control the free space in the user's directory before to copy the file.


@{b}GUIDEVIEWER@{ub} <string>

It shows the program (with the parameters) used to visualize the amigaguide files. You can insert every Dialog's switches; the sequence of characters %s will be sostituited by the file's name to visualize. If you don't specify this parameter, a message will be visualized to the user that this option is not avaible.


@{b}ARCVIEWER@{ub} <string>

It shows the program (with the parameters) use to visualize the archives' contents. You can insert every Dialog's switches; the sequence of characters %s will be sostituited by the file's name to visualize. If you don't specify this parameter, a message will be visualized to the user that this option is not avaible.


@{b}VOLUME@{ub} <name>

This parameter describes every volumes used by the program, managing a series of less or more optional subparameters that you must put in the following lines. 
Every VOLUME parameters must be followed by the END parameter to show to program that you finished the list of the subparameters concerning that volume.

The first line of the definition group is just that one with the VOLUME parameter and the logic name we want to give to the volume (i.e. the name that will be used by open, close, connect e disconnect commands).
At this point we can use a series of subparameters:

     @{b}DESC@{ub} <string>

     It shows a short  descrition of the volume. This descrition is
     visualized in the list made by the @{b}volumes@{ub} command and in the
     informations visualized with the @{b}info@{ub} command.

     @{b}PATH@{ub} <path>

     This subparameter specify the directory where you will accede
     entering in the volume. This will be the root
     directory e and you cannot get the precedent ones with the
     @{b}parent@{ub} command.

     @{b}FILETEST@{ub} <filename>

     DLGftp gives you the possibility to work with more CDs than the ones
     that the CD-ROM reader can manages simultaneusly.
     The list visualized with the @{b}volumes@{ub} command shows the
     volumes managed by the program. At the moment of entering into a 
     volume, the program controls if the volume is really
     presents inside the reader checking if it's possible to get
     the file specified by this subparameter (i.e. a file presents 
     in the CD).

     @{u}ATTENTION:@{uu} looking at the purpose of the command 
                it has no sense to put
                in the path the unit's name (i.e. CD1:); 
                it's just more logical
                to put the fisical CD's name (i.e. AMINET6:).

     @{b}ACCESSLEVEL@{ub} <level>

     It shows the minimum level of access needed to accede to the
     volume. Default is value 1.

     @{b}MOVELEVEL@{ub} <level>

     It shows the minimum level of access needed to copy files
     in your private directory using the @{b}get@{ub} command.
     Default is value 1.

     @{b}BANNER@{ub} <filename>

     This subparameter is optional and it identifies the file (specified
     complete of path) that will be visualized every time that a user
     accedes to the volume.

     @{b}DIRBANNER@{ub} <filename>

     This subparameter is optional and it identifies the file searched
     every time that the user will change the current directory 
     inside the volume using the @{b}cd@{ub}, @{b}changedir@{ub} or @{b}parent@{ub} commands.
     You must give the name of this file without path, infact it will be
     searched in the current directory.


@{b}USER@{ub} <name> <password> <level>

You can specify a series of special names to use at the login to modify the access level; so it's possible to manage in a very easy and powerful way the access to every volumes. When the user accedes to the program using one of this names, his access level is that one specify in the configuration line.

@endnode

@node "Esempio" "Example of configuration file"
 ;
 ; DLGftp configuration file
 ;
 ;
 ; The log filename
 ;
 LOGNAME SC:Sources/DLGftp/DLGftp.LOG
 ;
 ; Text files showed at start
 ;
 INTROFILE      DLGCONFIG:Misc/DLGftp.TXT
 INFOFILE       DLGCONFIG:Misc/DLGftp2.TXT
 ;
 ; File for verbose help
 ;
 HELPFILE       DLGCONFIG:Misc/DLGftp.Help
 ;
 ; Access level
 ;
 ACCESSLEV      10
 ;
 ; Files copied in the user directory will be free
 ;
 ;
 FREEFILES
 ;
 ; Allow only one access at time
 ;
 LOCKSESSION
 ;
 ; Don't check the user directory size
 ;
 NOCHECKDIR
 ;
 ; Program for amigaguide files display
 ; %s is the filename place
 ;
 GUIDEVIEWER    UTILITIES:MoreText %s LINES %SCLENGTH
 ;
 ; Program for archives display
 ; %s is the filename place
 ;
 ARCVIEWER      DOORS:MagicFile/ArcMaster %s T:AM_Temp "%UNAME" MASK=%PORT L=%SCLENGTH
 ;
 ;
 ; Volumes availables

 VOLUME       Aminet1
 DESC         The first Aminet CD
 PATH         SET1A:Aminet
 FILETEST     SET1A:Aminet/TREE
 ACCESSLEVEL  1
 MOVELEVEL    1
 END
 
 VOLUME       Aminet2
 DESC         The second Aminet CD
 PATH         SET1B:Aminet
 FILETEST     SET1B:Aminet/TREE
 ACCESSLEVEL  1
 MOVELEVEL    1
 END
 
 VOLUME       Aminet3
 DESC         The third Aminet CD
 PATH         SET1C:Aminet
 FILETEST     SET1C:Aminet/TREE
 ACCESSLEVEL  1
 MOVELEVEL    1
 END
 
 VOLUME       Aminet4
 DESC         The fourth Aminet CD
 PATH         SET1D:Aminet
 FILETEST     SET1D:Aminet/TREE
 ACCESSLEVEL  1
 MOVELEVEL    1
 END
 
 VOLUME       Aminet5
 DESC         The fifth Aminet CD
 PATH         AMINET5:Aminet
 FILETEST     AMINET5:Aminet/TREE
 ACCESSLEVEL  1
 MOVELEVEL    1
 END
 
 VOLUME       Aminet6
 DESC         The sixth Aminet CD
 PATH         AMINET6:Aminet
 FILETEST     AMINET6:Aminet/TREE
 ACCESSLEVEL  1
 MOVELEVEL    1
 DIRBANNER    INDEX
 END
 
 VOLUME       Cica1
 DESC         CICA - Disk one
 PATH         CICA1_0195:disc1
 FILETEST     CICA1_0195:disc1/CDROM.CFG
 ACCESSLEVEL  1
 MOVELEVEL    1
 END
 
 VOLUME       Cica2
 DESC         CICA - Disk two
 PATH         CICA2_0195:disc2
 FILETEST     CICA2_0195:disc2/CDROM.CFG
 ACCESSLEVEL  1
 MOVELEVEL    1
 END 

 VOLUME       HardDisk
 DESC         My Hard Disk
 PATH         DH0:
 FILETEST     DH0:Disk.info
 ACCESSLEVEL  200
 MOVELEVEL    255
 BANNER       DH0:UNIVISION.Logo
 END
 
 ;
 ; Users availables with special userlevel
 ;
 ;        UserName   Password       Level
 ;------------------------------------------------
 USER      Aminet     Amiga          1000
 USER      Cica       Windog          50
@endnode

@node "Uso" "Using the program"

  Done the login and visualized the system informations you accede the shell prompt of DLGftp. Here you can give every commands supported by the program, with the right sintax. Remember to open the volume before to work on it, just like a FTP site.

  Actually avaible commands are this:

         @{" amigaguide " link "amigaguide" 0}        @{" inside     " link "archive" 0}
         @{" archive    " link "archive" 0}        @{" list       " link "list" 0}
         @{" bye        " link "exit" 0}        @{" more       " link "more" 0}
         @{" cd         " link "chdir" 0}        @{" open       " link "open" 0}
         @{" chdir      " link "chdir" 0}        @{" parent     " link "up" 0}
         @{" close      " link "close" 0}        @{" pwd        " link "pwd" 0}
         @{" connect    " link "open" 0}        @{" quit       " link "exit" 0}
         @{" dir        " link "dir" 0}        @{" status     " link "info" 0}
         @{" disconnect " link "close" 0}        @{" system     " link "system" 0}
         @{" exit       " link "exit" 0}        @{" type       " link "type" 0}
         @{" get        " link "get" 0}        @{" up         " link "up" 0}
         @{" getfile    " link "get" 0}        @{" version    " link "version" 0}
         @{" guide      " link "amigaguide" 0}        @{" view       " link "more" 0}
         @{" help       " link "help" 0}        @{" volumes    " link "volumes" 0}
         @{" info       " link "info" 0}
@endnode

@node "Ringraziamenti" "Thanks"

@{b}My strongest thanks are for:@{ub}

  @{b}Erno Tuomainen@{ub}              for some fondamental technical suggestions
                              to link the program with Dialog.

  @{b}Maurizio  Fabiani@{ub}           for the beta-testing of the program,
                              suggestions and support.

  @{b}Gaetano Bl@{ub}                 First registred user!

  @{b}Paolo Carotenuto@{ub}            For some suggestions and for the
                              registration.

  @{b}Simone Marascalchi@{ub}          For english translation of this guide.
@endnode

@node "Registrazione" "Registration"

  The program is distribuited under @{b}shareware@{ub}. If you like the program, you are morally obliged to pay the author's work and to contribute to the program's growth.

  The payment for the program's registration is @{b}$15 (20DM)@{ub}, you can send it in a closed envelope or with a postal order to the author. To create the key you need to compile a @{"registration module" link "Modulo" 0} that will give to the author all the information.

  @{b}In the unregistred version@{ub} it's not possible to use the commands to visualize amigaguide files and archives' contents; it will not visualized the file acceding the volume nor acceding the directories. The user can get only a file for each session.

  The registred version give you full use of all program's commands, without visualizing other messages or pauses. The key, put in the @{b}L:@{ub} directory of your hard disk, will also work with the future versions of DLGftp: so you don't have to pay again for future upgrades.

@endnode

@node "Autore" "The author"

  For critics, bug reports or suggestions contact the author:

     @{b}Piergiorgio Ghezzo@{ub}
     Via L. Loredan n.6
     30126 Lido-Venezia
           ITALIA


@{b}E-Mail:@{ub}

  - pghezzo@dsi.unive.it
  - 2:333/707.0@fidonet.org
  - 39:101/1.0@amiganet.ftn
@endnode

@node "Modulo" "Registration module"

  To consent to the author to create your own personal key for full use of the program, compile the following registration module and send it to the @{"author" link "Autore" 0} with the money in an envelope or by matrix.

--- cut --- cut --- cut --- cut --- cut --- cut --- cut --- cut --- cut ---

                         REGISTRATION MODULE

              Name ______________________________________________________
           Address ______________________________________________________
              City ______________________________________________________
               ZIP ____________ Country ______ State ____________________
             Phone ______________________________________________________

                 FidoNet address ________________________
                AmigaNet address ________________________
                InterNet address ________________________

            UserName used in BBS ________________________

   Name of the program I want to register  __________________________
            Money sended for registration  __________________________
                   Method of payment used  __________________________
  On which Amiga model is running Dialog?  __________________________

In the output of some commands the program use a false InterNet address (in unregistred version is bbs.univision.it). Such address may be personalized by the registred user and memorized in his own key.

Which address do you want to use? ____________________________

--- cut --- cut --- cut --- cut --- cut --- cut --- cut --- cut --- cut ---
@endnode

@node "Futuro" "Program's future"

   I wish try to realize a search file command inside the current dir (recursively) but i think it could be really a @{b}veeery slow@{ub} thing...

   If you have new ideas to add to the program, write me and i will try to realized them.
@endnode

@node "History" "History"

 @{b}- HISTORY -@{ub}

   23 nov 95  v1.0  First version of the program.
@endnode

@node "Amigaguide" "'guide' and 'amigaguide' commands"

  The @{b}guide@{ub} and @{b}amigaguide@{ub} commands give you the possibility to visualize an hipertext file in amigaguide format directly on screen. An external program is called (i strongly suggest you @{b}MoreText@{ub}), specified in the configuration file.


@{b}Sintax:@{ub}

 - guide <file>
 - amigaguide <file>
@endnode

@node "ChDir" "'cd' and 'chdir' commands"

  The @{b}cd@{ub} and @{b}chdir@{ub} commands give you the possibility to change current directory inside the volume; such directory must exist in the current path; you can join a series of directories with the @{b}/@{ub} character. Using as parameter the sequence of characters @{b}..@{ub} or the @{b}/@{ub} character it's possible to accede to the parent directory.


@{b}Sintax:@{ub}

 - cd <directory>
 - chdir <directory>
@endnode

@node "Exit" "'bye', 'exit' and 'quit' commands"

  The @{b}bye@{ub}, @{b}exit@{ub} and @{b}quit@{ub} commands give you the posibility to exit in every moment to the program. Eventual open volumes will be automatically closed before the end of the esecution.


@{b}Sintax:@{ub}

 - bye
 - exit
 - quit
@endnode

@node "Volumes" "'volumes' command"

  The @{b}volumes@{ub} command don't need parameters and it visualizes a list of avaible by user system's volumes with a short description; visualization is possible respecting the access level.

@{b}Sintax:@{ub}

 - volumes
@endnode

@node "Version" "'version' command"

  The @{b}version@{ub} command don't need parameters and it visualizes the program version actually in use, with revision number and compilation date. It is also showed if the program is eventually registred to somebody and the addresses where to contact the author.


@{b}Sintax:@{ub}

 - version
@endnode

@node "Dir" "'dir' command"

  The @{b}dir@{ub} command visualizes to the user in a short form the list of present files (in blue) and directories (in red) in the current path. It's possible to put a string as parameter to visualize only the needed files; In this string you can use the special characters @{b}?@{ub} (instead of a character) or @{b}*@{ub} (instead of a series of characters).


@{b}Sintax:@{ub}

 - dir <match>
@endnode

@node "List" "'list' Command"

  The @{b}list@{ub} command visualizes to the user the list of present files and directories in the current path. It will show the dimension in bytes of every files (or if it is a directory), protection flags and date and time of creation. It's possible to put a string as parameter to visualize only needed files; in this string you can use the special characters @{b}?@{ub} (instead of a character) or @{b}*@{ub} (instead of a series of characters).


@{b}Sintax:@{ub}

 - list <match>
@endnode

@node "archive" "'archive' and 'inside' commands"

  With @{b}archive@{ub} and @{b}inside@{ub} commands and with the help of an external program (i suggest you @{b}ArcMaster@{ub}) specified in the configuration file it's possible to visualize the content of archives.


@{b}Sintax:@{ub}

 - archive <file>
 - inside <file>
@endnode

@node "open" "'connect' and 'open' commands"

  With @{b}connect@{ub} and @{b}open@{ub} commands you can open a volume for consultation. You can have the list of avaible volumes using the @{"volumes" link "volumes" 0} command. Since it's possible to work only on a volume at a time, the system before to open a new volume controls if another is still open and eventually it closes it. Commands give back an error if device is not present (for example CD not inside the reader) or if needed volume doesn't exist or if access level is too low; in this case the user is adviced about the impossibility to execute the opening operation.


@{b}Sintax:@{ub}

 - connect <volume>
 - open <volume>
@endnode

@node "close" "'close' and 'disconnect' commands"

  @{b}close@{ub} and @{b}disconnect@{ub} commands don't need parameters and they close a  volume precedently opened.


@{b}Sintax:@{ub}

 - disconnect
 - close
@endnode

@node "get" "'get' and 'getfile' commands"

  With @{b}get@{ub} and @{b}getfile@{ub} commands the user can copy the asked file in his private directory so that it's ready for the upload. During this fase it's controlled, if you need, user's free space. To use this command the user must have a level greater or equal than the @{b}MOVELEVEL@{ub} parameter in the configuration file.


@{b}Sintax:@{ub}

 - get <file> [|more]
 - getfile <file> [|more]
@endnode

@node "more" "'more' and 'view' commands"

  With @{b}more@{ub} and @{b}view@{ub} commands user can visualized asked text file.


@{b}Sintax:@{ub}

 - more <file>
 - view <file>
@endnode

@node "pwd" "'pwd' command"

  @{b}pwd@{ub} visualizes current directory.


@{b}Sintax:@{ub}

 - pwd
@endnode

@node "info" "'info' and 'status' commands"

  @{b}info@{ub} and @{b}status@{ub} commands show to user a series of informations and the name of actually open volume.


@{b}Sintax:@{ub}

 - info
 - status
@endnode


@node "type" "'type' command"

  @{b}type@{ub} visualizes to user what kind of connection is in act.


@{b}Sintax:@{ub}

 - type
@endnode

@node "up" "'parent' and 'up' commands"

  With @{b}parent@{ub} and @{b}up@{ub} you can return to the parent directory in the open volume.


@{b}Sintax:@{ub}

 - parent
 - up
@endnode

@node "system" "'system' command"

  @{b}system@{ub} command shows to user wath kind of filesystem is avaible in the remote system.


@{b}Sintax:@{ub}

 - system
@endnode

@node "help" "'help' command"

  @{b}help@{ub} command used without parameters shows a list of every avaible commands; asking for the needed command, it gives a quick explanation of his use. Giving @{b}DLGftp@{ub} as parameter the system shows a more detailed help about every avaible commands, visualizing the file specified in the @{b}HELPFILE@{ub} parameter in the configuration file.


@{b}Sintax:@{ub}

 - help [command] [DLGftp]
@endnode

