home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / htmck111.zip / README.DOC < prev   
Text File  |  1996-11-06  |  14KB  |  385 lines

  1. HTML Check  (Version 1.10 Nov  6, 1996)
  2.  
  3. Changes:
  4. --------
  5. 1.10
  6.   - Added support to verify HTTP:// links and reports
  7.  
  8. 1.03
  9.   - Fixed yet another memory problem
  10.   - Added support for BODY - BACKGROUND Tag
  11.   - Read REXX routines into memory for faster running
  12.  
  13. 1.02 -
  14.   - Major Memory screw up!!! (Fixed)
  15.  
  16. 1.01 -
  17.   - Fixed bad HTML check, won't Trap out on bad HTML
  18.   - Fixed the Physical path name on CGI-BIN files, and # references
  19.   - Added a buffer size 'MemAlloc=' in the INI file for increasing the
  20.     amount of memory available to the link list of Directories & HTML files
  21.   - Changed the Calls to the REXX function from MacroSpace to Disk call
  22.     (I couldn't get the MacroSpace cleaned up if there was an error in the
  23.     REXX macro)
  24.   - Display the Error messages to the Error list on the main display
  25.   - Removed the requirement of calling hcLoadVars - Do not call this
  26.     routine anymore it will display an error if you do.  Just delete it
  27.     all the of the REXX variable will be defined automagicaly for you.
  28.  
  29. 1.00 Initial release
  30.  
  31.  
  32. Andy Wysocki
  33. 3109 Village Rd West
  34. Norwood, MA 02062-2542
  35. awysocki@bearsoft.com
  36. http://www.bearsoft.com/abs/htmlchk.html
  37. -or-
  38. http://www.bearsoft.com/abs/abs_soft.html
  39.  
  40.  
  41.   HTMLChk was written because one day I found out that I was missing
  42. a bunch of .GIF files from the HTTP server.  I only came across it
  43. when I looked at the ERROR.LOG file to see that the files were missing
  44. for the past 10 days.  The ERROR.LOG file would do a good enough job
  45. for finding missing files, but when you move files or change HTML you
  46. don't always want to BROWSE all the pages you just moved/changed.  This
  47. is where HTMLChk will do the work for you and produce a report with the
  48. information you need.
  49.  
  50.   I have added support to verify HTTP links in a HTML page.  Just click
  51. the check box on the screen and away you go.
  52.  
  53.  
  54.   I am open to all Suggestions and Ideas as to the functionality of
  55. HTMLChk.  So PLEASE feel free to submit your problems & suggestions.
  56.  
  57. REGISTRATION:
  58.   In version 1.01 there is no checking of being a registered user,  After
  59. a couple of version I will be putting in a REGISTERED CHECK!!  So for now
  60. enjoy, To register it will cost $20.00 USD  make all checks payable to
  61.  
  62. AB Software
  63. 122 Richland Road
  64. Norwood, MA 02062-5540
  65.  
  66.  
  67. INSTALLATION:
  68.  
  69.   To install HTMLChk you probably already UNZIPed the file into a directory
  70. and are reading this README file.  If you did it with the proper options
  71. (no specific options for OS/2, '-do' for DOS) you should have two directories
  72. that were created under the directory the files were UNZIPed into.  They are
  73. the MAC and RPT directories.  Assuming you created a directory called
  74. \HTMLCHK,  the UNZIP should have created \HTMLCHK\MAC and \HTMLCHK\RPT.
  75. If not make the two directories under your directory and 'MOVE *.MAC MAC' to
  76. the MAC directory.
  77.  
  78.  
  79. DESKTOP:
  80.  
  81.   I have included a small REXX program to create an DESKTOP Object.  You can
  82. run the MAKEWPS.CMD file to create a desktop object.  NOTE:  You must run
  83. this .CMD file from the directory where the files were installed.  ie: if
  84. you installed the programs in the HTMLCHK directory, then you must be in
  85. that directory to run the MAKEWPS.CMD file.  After you create the object
  86. I recommend that you open up the setting on the object and add the default
  87. path to it.
  88.  
  89.  
  90. cd \htmlchk
  91. makewps
  92.  
  93.  
  94. CUSTOMIZING:
  95.  
  96.   There are a couple of files you can customize to make HTMLCHK work better
  97. for you.  The HTMLCHK.INI file and the .MAC files.
  98.  
  99.  
  100. HTMLCHK.INI
  101.  
  102.   Below I will describe the Keyword that can be defined in the HTMLCHK.INI
  103. file.  The keywords can be any case (mixed, lower, upper).  All the
  104. basic INI stuff is kept under the [HTMLCheck] heading.  An example INI
  105. file would be as follows, excluding the six -'s
  106. ------
  107. [HTMLCheck]
  108.   Debug=Off
  109.   ServerURL=http://www.bearsoft.com
  110.   ServerRoot=d:\os2httpd
  111.   DocumentRoot=d:\os2httpd\docs
  112.  
  113.   ReportDefault=1
  114.   ReportDesc1=Standard Report
  115.   ReportKey1=hcStandard
  116.  
  117. [hcStandard]
  118.   hcInit=mac\hcinit.mac
  119.   hcSSec=mac\hcssec.mac
  120.   hcLine=mac\hcline.mac
  121.   hcESec=mac\hcesec.mac
  122.   hcTerm=mac\hcTerm.mac
  123.   Report=rpt\htmlchk.rpt
  124. ------
  125.  
  126.  
  127. Debug=
  128.         Can be set to ON or OFF,  Will turn on debug tracing to the HTMLCHK.DBG
  129.         file.  No real information is kept here so for normal runs keep this
  130.         set to OFF.
  131.         The default = OFF
  132.  
  133. ServerRoot=
  134.         This is the Drive and Subdirectory of the Server ROOT directory.
  135.         For OS2HTTPD this would be D:\OS2HTTPD (with the drive letter
  136.         changing for the drive its on)
  137.         The default = C:\OS2HTTPD
  138.  
  139. ServerURL=
  140.         This is the URL for your server (root).  This is used when parsing
  141.         the HTML if its matched it will assume the file is LOCAL and verify
  142.         that it exsists.  Currently only 1 ServerURL is supported.
  143.         The default = HTTP://
  144.  
  145. DocumentRoot=
  146.         This is the drive and subdirectory of where the docuements start.
  147.         This is usually C:\OS2HTTPD\DOCS.
  148.         The default = C:\OS2HTTPD\DOCS
  149.  
  150. TopHTML=
  151.         This is the Top HTML file that the server will send to the client
  152.         when the server is hit from the top.
  153.         The default = INDEX.HTML
  154.  
  155. IndexTypes=
  156.         This is the list of valid HTML names if a client give an URL of
  157.         just the directory.  The server will normally look for INDEX.HTML
  158.         and send it back to the user.  This list should contain the same
  159.         list that the server would use.  The file names are separated by
  160.         commas and HAVE NO BLANKS between.  Some other files could be
  161.         index.shtml,index.sht,index.htm,index.html
  162.         The default = index.html,index.htm
  163.  
  164. HTMLTypes=
  165.         This is the list of valid HTML extensions to determine what files
  166.         are to be treated at HTML files.   This list should contain the list
  167.         of extensions of the HTML files separated by commas with no blank
  168.         inbetween the list.
  169.         The default = .html,.htm
  170.  
  171. OffRoot=
  172.         This is the list of valid Server Root directories that the HTTP Server
  173.         can access.
  174.         The default = /ICONS/,/CGI-BIN/
  175.  
  176. IgnoreDir=
  177.         This is a list of Dirve:/Paths to ignore when gathering the information
  178.         If you have a directory that you are working in and you don't want
  179.         to scan it, enter the Drive:Path of the directories you want to skip.
  180.         REMEMBER separate by commas and NOT EXTRA BLANKS.  Use IgnorePrint
  181.         if some of the files in a directory are accessed by HTML but you
  182.         don't want a report on the directory.
  183.         ie:IgnorePrint=C:\OS2HTTPD\DOCS\NCSA,C:\OS2HTTPD\DOCS\TEST
  184.         The default =
  185.  
  186. IgnorePrint=
  187.         This is the list of Dirve:/Paths to ignore when sending stuff to the
  188.         REXX Macros.  If you have a directory that you are working in and
  189.         you don't want to enter into the reports. Enter the Drive:Path of
  190.         the directories you want to skip. REMEMBER separate by commas and
  191.         NOT EXTRA BLANKS
  192.         ie:IgnorePrint=C:\OS2HTTPD\DOCS\NCSA,C:\OS2HTTPD\DOCS\TEST
  193.         The default =
  194.  
  195. Browser=
  196.         This is the editor or browser to call up when the Browse report
  197.         button is pressed on the main screen.
  198.         The default = c:\os2\e.exe
  199.  
  200. ReportDefault=
  201.         This is the default report to select when the program is first
  202.         run.  It should be any number between 1 and the max number of
  203.         reports defined.
  204.         The default = 1
  205.  
  206. ReportDesc_=
  207.         This is the report description for report number '_' where the _
  208.         is any valid sequential number.  The number must start with 1 and
  209.         proceed upward.  With each ReportDesc_ defined you must supply a
  210.         ReportKey_ keyword too.
  211.         The default = (none set)
  212.  
  213. ReportKey_=
  214.         This is the Keyword that is associated with the report.  When
  215.         HTMLChk runs the report it will use this KeyWord as the heading
  216.         to searh for.
  217.         The default = (none set)
  218.  
  219.  
  220. MemAlloc=
  221.         This is the number of 4K block of memory to allocate for the
  222.         directory tree.  The default is 256 (1Meg).  You should only have to
  223.         set this bigger if you have a big directory tree, or long
  224.         path names.
  225.         The default = 256
  226.  
  227. ----------------
  228. These keywords have to be defined under a ReportKey HEADING (see sample)
  229. None of these keys have a default!
  230.  
  231. hcInit=
  232.         The Macro/Rexx file called at the start of a report
  233.  
  234. hcSSec=
  235.         The Macro/Rexx file called at the beginning of a new directory
  236.         or the start of an HTML file.
  237.  
  238. hcLine=
  239.         The Macro/Rexx file called for EACH line to be processed.
  240.  
  241. hcESec=
  242.         The Macro/Rexx file called at the end of a directory
  243.         or the end of an HTML file.
  244.  
  245. hcTerm=
  246.         The Macro/Rexx file called at the end of a report
  247.  
  248. Report=
  249.         The report file to use for output
  250.  
  251.  
  252. MACRO VARIABLES & FUNCTIONS:
  253.  
  254.   I have included REXX as the program language of choice for buiding the
  255. reports.  There are 5 REXX/MAC macros that the program will call when
  256. generating the reports.  They are INIT, SSEC, LINE, ESEC and TERM.
  257.  
  258.   See the INI file descriptions for when/where/why these macros are called.
  259.  
  260. This chart will show when these variables are valid and what REXX/MAC
  261. can use them.
  262.  
  263.                                         Init  SSec  Line  ESec  Term
  264. ---------------------------------------------------------------------
  265. hcReportName                             X                       X
  266. hcReportDescription                      X                       X
  267. hcServerURL                              X                       X
  268. hcServerRoot                             X                       X
  269. hcDocumentRoot                           X                       X
  270. hcTopHTML                                X                       X
  271. hcDeep                                          X    X     X
  272. hcTotalBytes                                               X
  273. hclDoc                                          X    X
  274. hclPhysical                                     X    X
  275. hclFileSize                                     X    X
  276. hclHTMLTag                                      X    X
  277. hclFileType                                     X    X
  278. hclMatched                                      X    X
  279. hclLocalFound                                   X    X
  280. hclServerRoot                                   X    X
  281. hclOffSite                                      X    X
  282. hclParent                                       X    X
  283. hclAccessCount                                  X    X
  284. hcpDoc                                          X    X
  285. hcpPhysical                                     X    X
  286. hcpFileSize                                     X    X
  287. hcpHTMLTag                                      X    X
  288. hcpFileType                                     X    X
  289. hcpMatched                                      X    X
  290. hcpLocalFound                                   X    X
  291. hcpServerRoot                                   X    X
  292. hcpOffSite                                      X    X
  293. hcpAccessCount                                  X    X
  294.  
  295.  
  296. REXX/MAC VARIABLE DESCRIPTIONS:
  297.  
  298. hcReportName
  299.         - The Report Name file as defined by the REPORT INI Variable
  300.  
  301. hcReportDescription
  302.         - The report description as defined by the ReportDescription
  303.           INI variable
  304.  
  305. hcServerURL
  306.         - The Server URL as defined by the ServerURL INI Variable
  307.  
  308. hcServerRoot
  309.         - The Server Root Path as defined by the ServerRoot INI Variable
  310.  
  311. hcDocumentRoot
  312.         - The Document Root Path as defined by the DocumentRoot INI Variable
  313.  
  314. hcTopHTML
  315.         - The TOP HTML File name ss defined by the TopHTML INI Variable
  316.  
  317. hcDeep
  318.         - This variable is incremented every time it traverses a new
  319.           Directory or HTML file.  So looking at a PATH of
  320.           E:\DOCS\USERS\ANDY\INDEX.HTML  hcDeep would be = to 3 for the
  321.           Directory and 4 when it was parsing the HTML file.
  322.  
  323. hcTotalBytes
  324.         - The total number of bytes used by the files in a directory.
  325.  
  326. hclDoc
  327.         - The File name in the directory OR the HTML Tag Source
  328.  
  329. hclPhysical
  330.         - The Physical file name of the URL
  331.  
  332. hclFileSize
  333.         - The size of the file,  HTML tags will always be zero
  334.  
  335. hclHTMLTag
  336.         - The Type of HTML tag that was processed.  Valid Values are
  337.         A, IMG, HTML, LINK, FORM, ISINDEX
  338.  
  339. hclFileType
  340.         - The Type of file that was processed.  Valid Values are
  341.         HTML, DIRECTORY, OTHER, HTMLTAG
  342.  
  343. hclMatched
  344.         - Yes/No field to say if this file is accessed by an HTML tag.
  345.  
  346. hclLocalFound
  347.         - Yes/No field to say if the Physical file was found.
  348.  
  349. hclServerRoot
  350.         - Yes/No field to say this file is accessed from the Server Root
  351.  
  352. hclOffSite
  353.         - Yes/No field to say this HTML URL is referencing a file somewhere
  354.           other than this server.
  355.  
  356. hclParent
  357.         - Yes/No  field is the 'hcp...' variables are valid.  This will
  358.           be set to yes when inside an HTML file.
  359.  
  360. hclAccessCount
  361.         - This number has two meanings,  For a flat file it will always be
  362.         1, for a directory it should be the number of files in the directory.
  363.         for an HTML tag it will be the number of times inside the parent
  364.         document that this file is referenced.
  365.  
  366.  
  367. --The rest of these variables are the same as the 'hcl...' variables except
  368.   they reference the parent document!
  369.  
  370.       hcpDoc
  371.       hcpPhysical
  372.       hcpFileSize
  373.       hcpHTMLTag
  374.       hcpFileType
  375.       hcpMatched
  376.       hcpLocalFound
  377.       hcpServerRoot
  378.       hcpOffSite
  379.       hcpAccessCount
  380.  
  381.  
  382.  
  383.  
  384. --- Thats all folks --- End of Document ---
  385.