FTP Edit v1.7 Help

©D.Redford 1998/1999.

Contents.

  1. Overview and Goal.
  2. Basic Features.
  3. Remote Features.
  4. Transferring Files.
  5. File Naming and Storage.
  6. Backups.
  7. Options.
  8. Text Styles.
  9. TABS.
  10. Indicators.
  11. Shortcuts.
  12. Windows Curiosity.
  13. Paranoia.
  14. Time Outs.
  15. Printing.
  16. Bugs.
  17. Warranty.
  18. Comments, Feedback, Support.

  1. Overview and Goal.

    The basic idea was to take a standard Windows Edit control and tie FTP Send and Receive functions to it. This would allow you to retrieve a file from any remote machine, edit it locally, and send it back again.

    (Obviously the remote machine must have an FTP Daemon running in order to service the FTP requests - some MVS machines may not).

    The FTP features should be enhanced to allow for problems with unfriendly platforms like MVS.

    This editor is currently intended for Text Only. EBCDIC/ASCII and UNIX/DOS CR/LF translation is performed automatically by the FTP libraries. If you have files that contain embedded non printable characters (e.g. Cobol or JCL) the editor may be used to View them only. Do Not Send the files back to the remote system. (See Conversion).

  2. Basic Features.

    FTP Edit is basically like Windows NotePad in use. With the Normal features of OPEN, SAVE, CUT, and PASTE all present. In Addition there are some features from Windows WordPad, like Mouse Pasting (ie. Selected text can be dragged with the Mouse). (See Shortcuts).

  3. Remote Features.

    On the FILE MENU you will notice some new items:

           Item                      Description
    
      i.   FTP Receive               Receive File from a Remote Machine.
      ii.  FTP Auto Receive          Repeat Prior Receive.
      iii. FTP Send                  Send a File to a Remote Machine.
      iv.  FTP Auto Send             Repeat Prior Send.
    

    Items i. (Receive) and iii. (Send) will cause a Dialogue box to be displayed for the user to enter the Remote Machine, User, and File details.

    Items ii. (Auto Receive) and iv. (Auto Send) will use the Remote Machine, User, and, File details used in a Prior Send or Receive operation.

    The Dialogue box will look like this:

        Remote File Specification
    
            Machine         The Internet Name or 'Dotted Decimal Address'
                            of the Machine to contact.
    
            User ID         Your User ID on that machine.
    
            Password        Your Password on that machine.
    
            File Name       The name of the File you want to Send or Receive.
    
            Template        Optional 'expansion' Template for the File name.
    

    Explanation.

    Machine:
    This is the DNS Name or the IP address of the machine.
    e.g. ftp.freebsd.org or 123.456.789.012

    User ID and Password:
    Self explanatory.

    File Name:
    This is the name of the file as it appears (or will appear) on the Remote machine.

    You may enter a Full Path to a file or let the Path default to your login directory (In MVS parlance: you may use a fully qualified name or you can let the High level Qualifier default to your User ID).
    i.e.

    In Unix:
    For a File in your home directory:

    files/myfile.txt

    i.e. it defaults to /home/myid/files/myfile.txt

    For a File in some other directory: (see File Naming section)

    /its/over/here/in/his/directory/hisfile.txt

    In MVS:
    For a File in your PDS:

    mypds.txt(file)

    i.e. it defaults to 'myid.mypds.txt(file)'

    For a File in some other PDS:

    'its.over.here.in.his.pds.txt(hisfile)'

    Note That the only difference is that MVS uses the single quotes to determine that its a full qualifier. I believe this is the normal method.

    Template:
    This allows you to specify just the file name (or portion of the path) in the File Name Box and have the name expanded into a Full (or default) Path automatically.

    The template consists of a series of 'normal' characters and a '#' symbol. The # symbol is the place you would like the File Name substituted.
    e.g.

    Using this File Name:
          MyFile

    With the following Template:
          'The.Full.Qualifier.Some.PDS(#)'

    Would construct a File Name for the Remote Machine of:
          'The.Full.Qualifier.Some.PDS(MyFile)'

    e.g. 2

      File Name: source_code.c
      Template: /a/unix/path/#

    Caution.
    If you do not wish expansion to occur (e.g. because you have specified a sufficient path for the File Name itself) the Template should be a single '#'. (This is the default since this dialogue does not track whether the File Name has been expanded already).

    Machine Names, File Names, and Templates are all stored for future use. Both the Expanded and Unexpanded File Names are stored allowing you to choose a different Template for each transfer operation.

  4. Transferring Files.

    Once you have filled out the Remote file details the file will be transferred to or from the Remote Machine.

    Receiving.
    The file will be Downloaded from the Remote machine and stored in the Cache directory/folder on your local hard disk (or LAN drive - or floppy if you like).

    It will then be read into the Current Window where you may edit it.

    The name of the file locally will be the same as that of the remote file. See File Naming and Storage Section.

    Auto Receive.
    This feature simply uses the same remote file details from any previous Receive or Send operation. You are not asked to fill out a dialog box unless there was no prior remote operation.

    Sending.
    The file in the Current Window will be saved to the Cache directory on your local disk. It will then be uploaded to the Remote machine.

    If the file you are sending is New and has not yet been saved it will be saved with the name of remote file that you specify in the Dialogue box.

    If the file you are sending was saved to disk or was the result of a prior receive operation it will have a name. This name will be placed in the the Remote File name area of the Send Dialogue box by default.

    You may change the Remote File name to save the file under a different name remotely but the name of the local file will not be affected.

    The name of the local file will only change if you use the SAVE AS option or receive a file of a different name into the Current Window.

    Auto Send.
    This feature simply uses the same remote file details from any previous Receive or Send operation. You are not asked to fill out a dialog box unless there was no prior remote operation.

  5. File Naming and Storage.

    Files will be saved with the extension fte (.fte). The files are stored as Simple Text. You may edit the files with any text editor.

    Text files are normally stored with the extension txt (.txt). The .fte extension is used instead so that remote files with names like file.txt may be saved as file.txt.fte. rather than file.txt.txt.

    This allows the original (remote) file name to be reconstructed without having to store information in the file itself.

    Note:

  6. Backups.

    When a file is Received any previous file with the same name is renamed with a prefix of old_. If a file with that name already exists it is removed.

    This provides a simple safety method against an inadvertent download over-writing your changes. (Of course if you receive twice...).

  7. Options.

    There are several options that provide additional control to the user.

    Selecting the SETTINGS / OPTIONS MENU will present a Dialogue with the following items:

    1. Cache Files in the Following local directory/folder.

      This allows you to specify where you would like files to be stored when the are transferred to and from the remote machine.

      It is used as a file cache and you may look in here to find backups of prior edits (prefix old_ see Backups) or to retrieve a file you where editing in a previous session before windows crashed.

      This will default to the c:\temp directory when the application is run for the first time. If the directory is not present you will get a warning and files will be cached to c:\ until you change it.

    2. Transfer Options.

      1. Default to Same User ID and Password for all Windows.

        This is handy if you use the same remote machine a lot. Each edit window you open will take the Remote machine name, User ID and, password (not the File name) from the last file transfer you made.

      2. Prompt before Auto Send.

        If there has been a prior remote operation Auto send bypasses the Remote File Dialogue and Overwrites the Remote file with the contents of the current window. With a single click you can upload a bad edit to your original file.

        This option will ask you before proceeding.

    3. Character Conversion.

      1. Convert unprintable characters to @.

        Sometimes a remote file contains bad characters but you would still like to view it (but possibly not edit it).

        This converts any character outside the normal ASCII range (excluding CR,LF or TAB) to an @ character. This character was chosen for its rare use in the C language.

        Caution
        Some languages have valid characters in their character sets which can trigger this check (eg. ä, ß, etc.). Under these conditions this option may be turned off.

      2. Convert MVS Bad Pipe (ASCII 0xBA) to a real pipe.

        In EBCDIC there are three pipe symbols. Depending on how your mainframe terminal session is configured your keyboard may generate any one of them.

        Only two convert to ASCII (via the ftp libraries) correctly. The third becomes ASCII 0xBA. This will detect it an convert it to a pipe.

      3. Work Silently (switch off Warnings as well).

        The above two options will produce notifications of changes made when enabled and warnings when disabled.

        This option switches off the Notifications AND Warnings.

      4. Convert TAB characters to 8 spaces.

        Some remote machines (or applications on them) do not like tab characters. This will convert them to spaces.

        See the TABS section for important information on TABS.

    4. Lines.

      1. Issue Warning for Lines Longer than 80 characters.

        Similarly to TABS above, lines with more than 80 characters can cause problems. This option will point them out to you.

  8. Text Styles.

    As usual with windows applications you can select the text style.

    on the SETTINGS / TEXT STYLE MENU you may choose between some predefined text styles or one of your own devising.

    The predefined Styles set the Font, and Foreground and Background colours in one easy click. Selecting the Custom Style will load the current User Defined Style (if this has never been changed it will be the same as one of the predefined styles).

    You may use the SETTINGS / DEFINE TEXT STYLE MENU to set the Custom Style.

    Tip.
    For reading Source Code Fixed Fonts are normally better than Proportional. The Selection boxes default to the Fonts named 'Fixed' or 'Courier' because these should always be present on a Windows system. However, you may find 'Lucida Console' good for text viewing. If it's installed give it a try.

  9. TABS.

    Tabs are a problem. They are usually a function of the display method, i.e. the editor or the printer that is being used. They can be expanded to any number of spaces to suit the users tastes.

    In Windows Tabs are physical. i.e. they map to inches not numbers of characters.

    The default tab stop in FtpEdit is 1/2 an inch. This is a function of the display only. The character generated is ASCII 0x09 and it will remain in the data as one character.

    If this is a problem for the remote machine Tabs may be expanded to 8 characters - see Options.

    Expansion will happen when you press a key and before you upload a file to a remote machine.

    CAUTION:
    If you PASTE text containing tabs from another application they will NOT be converted to spaces automatically.

    In this release I leave the Pasted selection visible so that you may UNDO the Paste. When you are satisfied that the Paste is ok you may manually select the DETAB NOW function from the SETTINGS MENU. (see Bugs).

    If you wish you may leave the Tabs in your text until they are converted by an upload but the Column position indicator (see Indicators) will show the Tab as ONE character only.

  10. Indicators.

    Line and Column.
    To aid editing there is a Line and Column indicator in the bottom right of the main window. This shows where the cursor is (or where the next character will appear).

    i.e. if the line consists of 1234567 and the cursor is between the 4 and 5 the column indicator will show 5.

    Status.
    When File Transfers are in progress, or Tabs are being removed, information will be displayed in the bottom left of the main window.

  11. Shortcuts.

    Some features from the MENUS have been mapped to icons in the tool bar. The may be pressed to select the corresponding MENU action. Other shortcuts used for simple text manipulation within Windows Notepad and Wordpad are also available - see the relevant Online Help on how to use these applications.

    A possibly non-obvious feature:
    CTRL - Up or Down Arrow Will scroll the Text up or down without moving the cursor.

    To Toggle text Insert/Overstrike mode use the Insert Key:
    This is normal behaviour but many do not know of it.

  12. Windows Curiosity.

    If you do not press Enter after typing the last line of your document there will be no CR/LF on that line.

    When the file is received remotely, invariably a CR or LF will be added. This causes a discrepancy to creep in when I compare the files (see Paranoia) later.

    To prevent this, and to create a 'real' line of text a CR/LF is added before the document is Sent or Saved.

  13. Paranoia.

    Sending.
    There is a bug in MVS FTP. When the PDS needs compressing or possibly due to catalogue problems the FTP daemon does not tell the sender (i.e. us) that the file failed to be saved on the remote machine.

    Because of this FtpEdit ALWAYS re-retrieves a sent file after a Send operation and compares it with the original (for good measure this is done for all machines).

    If the two files are not identical a warning will be issued, You should fix the problem at the remote machine. (The only copy of your edited file will be on the local machine in the cache folder and in memory).

    Receiving.
    In case there are any connection problems when receiving a file the local copies of the file (the current one and the backup version - prefix old_) are not altered until a successful receive has occurred.

    If this was not the case the _old backup would disappear, unnecessarily, before we knew that the receive failed.

  14. Time Outs.

    For simplicity (mine, not yours) the FTP connections are made in the main application thread and therefore there is no Cancel capability.

    To prevent  the application hanging indefinitely on an intermittent comms. link; timeouts are used.

    Time Out values are as follows:

    Time Out Action Time
    Name Resolution Get IP Address

    Unknown
    Windows default

    Initial Connection Machine Login

    30 secs

    Command Response Issue Put/Get

    15 secs

    Data Operations File Transfer

    45 secs

    If the Application seems to Hang waiting for a remote operation to complete please be patient. It should timeout and return control to you.

  15. Printing.

    Printing is currently handled by using the Print features of Internet Explorer.
    (This is a quick fix and saves me having to work out how to do it myself - I may fix this if I have time).

    When you select the Print/Preview option an Explorer Window will appear with a preview of the text to be printed. You may then Click the Print Button to Print or the Print Setup button to change Print options.

  16. Bugs.

    1. Windows 95 connection delay.
      Some machines running Windows 95 occasionally take a long time (30 secs or more) to establish an FTP connection. Sometimes the connect timeout will trip and the connection will fail. However, on successive attempts the connection should take less than a second.

    2. Paste Truncation.
      There seems to be a bug in Windows 95 OSR2 (no really). This bug may exist in Windows 95 and Windows NT but has not yet been confirmed.

      Sometimes (rarely now because of the extra checking) if you repeatedly paste very large amounts of text into a document (from any source even the document itself) a Null character may appear in the text.

      This is not visible and does not seem to disrupt the normal editing functions. However, it does cause a problem when saving the text to disk or when scanning for Tabs and checking Line lengths.

      Checks are made to detect this problem after a Paste and during a Save operation. If detected you will be notified but there is no automatic correction yet.

      You may attempt to manually fix the problem as follows:

      • After the Paste you may hit Undo and hope it corrects the text.
      • During Save you will be given the opportunity to Paste the text into another application in a feeble attempt to recover it.

    3. Paste Colours.
      If you are editing several documents and decide to change the Text Style (colours etc) only the Active (and all new) documents will be affected. You will now have documents open with different text attributes.

      If you paste from one document into another the new attributes will not be applied. You may have mixed text attributes in the destination document. This is only cosmetic and should not affect the textual content.

  17. Warranty.

    This software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall Mr. D.Redford be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.

  18. Comments.

    If you experience problems with this software or have suggestions for improvement you can email me at
    dredford@iname.com
    My time is limited, so I will address problems first. However, interesting suggestions may get priority if the problems are boring or difficult to fix ;-)