 
  Member update-able Technical Reference website
An interactive technical reference that accepts notes, data, and new information
from everyone.
The actual techical data starts with an outline
/ overview
How to add your own comments, questions, code, etc..
and even new pages(!) to any page.
How to take ownership of a page and edit pages you
own.
Possible hosts:
  Technical feature / to-do list.
  
  
  - 
    Make an ADO datasource for a members directory
    
      - 
	Member contact information (or a link to the Windows or MegaPhone Address
	book)
	
	  - 
	    Collect member information by a standard form, but use two frames or windows
	    and after leaving each field (or when there has been no keypress event for
	    a certain time) use the information entered to start a search for matching
	    contact records which are listed in the second frame or window. The user
	    can select or approve results there and cause them to be copied into the
	    form.
	    
	      - 
		On entering the field, display a very quick help screen in the bottom frame.
		Probably just a few words written directly from the javascript
		
		  - 
		    Email: it would actually be cool to do an email extraction from IP address,
		    but that is really not possible.
		  
- 
		    Phone: just a few words about how to enter it and what will happen afterwords.
		    Public phone records can be used to look up name and address.
		  
- 
		    Name: "do you already have an account on this system under a different phone
		    number and/or email address? If so please enter your old phone / email here
		    so we can accuratly update the existing record rather than duplicating your
		    information." then trigger a lookup on the old phone / email as though it
		    was entered above.
		
 
- 
		First, search the local database on the server via members.asp. Return only
		enough information to uniquely identify the contact to prevent the use of
		the page to extract members details. E.g. when entering the name, if there
		are matches in three different states, fill the list with "from
		<city>, <state>?" Don't release email addresses, phone numbers,
		and street addresses.
		
		When a match is found for:
		 
		  - 
		    Email: Only offer to send an email with the password. Remind the member to
		    log in to change contact info
		  
- 
		    Phone:
		  
- 
		    Name: if it will uniquly ID the member show "from <city>,
		    <state>?" and if selected, fill in City, State, Zip, etc... and the
		    street address without the street number or other numerical information removed.
		    Also maybe not company. The main purpose is to prevent multiple contact records
		    for the same person with different emails and phone numbers. Pulling up the
		    other details from the database improves the chances that they will be submitted
		    exactly as before and will be recognized as an existing record. The street
		    number will be re-entered exactly, where other details like "Ave." vs "Avenue"
		    may not be.
		  
- 
		    Company: same as name, but all information includeing address, city, and
		    state can be listed. This saves people the time of entering company information
		    again, and also prevents duplicate records for the same company and location.
		
 
- 
		Second, member.asp should redirect to a search engine that is appropriate
		for the type of data entered.
		
		  - 
		    For email addresses, search Whois on the domain. Finger would be great, but
		    probably only useful on well managed Unix intranets. The whois will help
		    for work addresses (and names) of any corporate or university users and may
		    even turn up direct contact info for private domain owners. Unless we can
		    tell that it is an ISP, there is no point in asking for conformation, just
		    populate unentered fields.
		  
- 
		    For phone numbers, search anywho or think direct and display the actual result
		    page. Use the frameset onload (which is activated after all the documents
		    in the frame set, i.e. both frames, have loaded) to popup an alert asking
		    if the result is correct and should be transferred or perhaps to enable a
		    "transfer remaining data from below" link or button.
		  
- 
		    For company, same as phone number, perhaps useing a business directory.
		
 
		When a secondary match is confirmed, use javascript to parse out the data
		and transfer it into the form. Don't over-right fields that have already
		been filled out (err... unless it was filled out by a non-ISP email domain
		match? maybe conformation should be required for those?)
	     
 
 
- 
	Member Password (encrypted)
	
	  - 
	    Store passwords in a cookie on the members browser after they have logged
	    in. Delete the cookie after they have logged out and remind them to log out
	    if they are not useing the reference from a home machine
	
 
- 
	Member user ID number
	
	  - 
	    a relativly short id tag that is placed in the HTML as a part of an
	    <A> type tag (maybe <A title="JMN-EFP" ...> for example) around
	    content (<A title="JMN-EFP" name="">) or file link descriptions (A
	    title="JMN-EFP" href="myfile.htm"> submitted by this member and in a
	    <META name="author"> tag (<META name="author" content="JMN-EFP">)
	    in the header of each file posted by the member. Use a comment end code with
	    the end of the content link.
	  
- 
	    develop the ID from the members contact data, maybe initials of name followed
	    by initials of company name or some sort of geek code.
	  
- 
	    need: allow the member to edit and approve the ID (check for duplicates
	    before approving members changes) so that they retain ownership of the ID
	    tag.
	  
- 
	    a second tag or a code at the start of the members tag indicates that a
	    particular content is for publication or is to be kept private. <A
	    title="P-JMN-EFP"... or <META name="author" content="P-JMN-EFP">...
	    Make sure no one ends up with an id that starts with P- before the private
	    code is added.
	  
- 
	    after verifying the user password on login, place the ID in the session
	    variables.
	
 
- 
	need: Add an ASP page to display the members ID's (no names unless
	oked by member) with links to a form that uses another ASP page to send emails
	so that the members email address is not given out.
      
- 
	need: Add an ASP page that allows members to change password, set
	options for the display of thier name, company name and email on thier postings
	("James Newton of massmind.org says:"). Member.asp provides this EXCEPT for
	the password.
    
 
- 
    When serving web pages,
    
      - 
	Check for a valid session containing Member ID number.
	
	  - 
	    If not found, redirect to a login directory so that a cookie previously placed
	    in the members browser will be appended to the client request. If the cookie
	    is not available, explain the membership
	    requirement and ask for a password. After completeling login, update
	    the cookie, increment the useage count for the file being requested and redirect
	    back to the original page.
	
 
- 
	check the user ID number against the <META name="author"> and deny
	requests for private content not matching the authors ID. In the denile,
	allow the member to send a request to the author of the private content via
	a form and a sendmail script rather than by mailto: so that the authors email
	is not released.
	intI = Instr(strFile, "<META name='author' content='P-")
If intI > 0 And Mid(strFile, intI, Len(strID)) <> strID Then
	Response.Redirect "/techref/private.asp?id=" & strID & "&" & Request.QueryString
	Response.End
	End If
 
- 
	Replace all the tags with private member content with comment start codes
	so that the content is not visable on the browser. It would be visable in
	the source but this is normally just the file link text or description of
	the file and the actual content will not be served even if requested due
	to the <META name="author"> tag in the file.
	strFile = Replace(strFile, "<A title='P-", "<!-- ")
 
- 
	Replace all the comment start codes followed by the current members ID number
	with <A HREF tags so that that members content again becomes visable.
	strFile = Replace(strFile, "<!-- " & strID, "<A title='" & strID)
 
- 
	This has been updated to use regular expressions and actually remove all
	private comments.
    
 
- 
    At the bottom of each subject page, add a query.asp?more=<pageurl>
    offering to search for more information on that subject. Add
    ?from=<pageurl> to the end of each result link and parse that when
    serving the result to be used in (need:) a "did this answer your
    question?" popup which links the search result page back into the origial
    subject page.
  
- 
    Allow users to follow / edit / update / comment on / add links  / new
    pages / upload files / sub-sites. (help file for page
    edit, add, addpage)
    
      - 
	Edit content in a text area (HTML raw editing) or if DHTML is available,
	by a WYSISWG HTML editor
	in the browser.
      
- 
	need: When text is added to an existing page, split it into words
	and lookup each word with a LIKE '"&strWord&"*' in the database of
	page titles / post subject lines. If a match is found, check to see if the
	title matches the words following the first and if so, link that part of
	the text to the other page.
      
- 
	need: Lookup each unlinked word in a dictionary database and place
	a superscript "?" with a link to a "please correct or define this word" page
	that offers suggestions for misspellings
	or a place to enter a new definition.
      
- 
	done: Check words in update against spam keywords...
      
- 
	need? ...or include a captcha.
      
- 
	done: An "email me changes to this page" link. Totally automatic.
	If the page is edited, it gets mailed to a list of people who are interested.
	Update.asp now does this. The list of interested people are stored in a list
	titled "Interested" and they may be indicated by member-id or by actual email
	address. Each entry in the list is marked as private.
      
- 
	need: Add a compact version of the update to a file called
	new<year><month><day>.htm in the same directory as the
	updated file. Include a link to the page, the author, and the text. If it
	was an edit, a difference engine should be used so that only the change is
	recorded. Offer to send it to users. The major pain here is for pages that
	were edited. Finding a good, human readable diff has been diff-icult.
	
      
- 
	need: Log the updates out to a newsletter or email list (members option)
	
      
- 
	need: Include a java applett
	or ActiveX control that can edit / display and simulate in a very minimal
	way, electronic circuits or diagrams.
	
      
- 
	need: Also have an optioin to post questions that are listed in a
	seperate place (always at the very bottom) and automatically post them to
	the techref member list or to what ever list is most appropriate for the
	subject area if the poster has a membership in that list (help them set it
	up if they wish). Add a link to the techref area before the question when
	sending it so that readers have a good idea of the context and can click
	to see what info is already present before repeating it. Watch for answers
	and make a new content entry based on question and answer. May want to edit
	before posting.
      
- 
	need: A database of consultants related to each area with a "would
	you like to be referred to an expert in this area" if the search results
	or browsing is not helpful. The consultants pick what pages they want referrals
	from and maintain their own contact information.
      
- 
	done: Add a "<name, company with or without email> says:
	<BLOCKQUOTE>" to the start of postings and "</BLOCKQUOTE>" to
	the end at the members option.
      
- 
	need: If a member is deleted (for inactivity or at request) any pages
	they have created should probably be reverted to not-owned unless they are
	marked private. Same thing with posts where the link to the member page comes
	up 404.
    
 
- 
    Maybe via "control panel" (seperate window?).
    
      - 
	need: Include some javascript to parse the title and href of each
	link and display an information table with user-frendly version of: authors
	experience,  when onMouseOver event occurs. Use onMouseOut to clear.
	 
      
- 
	display document.lastModified or other document information.
      
- 
	need: Include some javascript to link to a dictionary site when a
	word or phrase is selected to provide definitions
      
- 
	need: Setup a tool bar with B, I, U, H1,2,3 left
	right center, bullet, number definition lists etc that inserts the appropriate
	tag around selected text in the "edit" text area. On timeout, update the
	document in the main window to show a wysiwyg preview of the new html. Add
	a save button that posts the new page or what ever to the server. Probably
	doable in Javascript or
	Java
      
- 
    
 
- 
    need: Periodically run an ASP
    page to index all the pages in the local site and update thier last modified
    dates into a data base (files in techref.mdb) along with a cross reference
    (links in techref.mdb) that shows what files link to what files. Also update
    the title into the database to use in autolinking. To improve speed, process
    only one directory (folder) at a time and add/flag the subdirectorys in the
    folders table to be processed later. Hint: if the number of files in a folder
    changes, flag it as out of date. Also, check the last date the folder
    was indexed and only find/update the files that have changed since that date.
    Flag each file for link checks on the next run.  The database will
    also hold (for each file) the date of last upload to the public site, frequency
    of use, date link list updated,  and an exclude flag for non-postable
    content. For each folder, the path, date of last index, number of files.
    
      - 
	Add the <title> of the html document to the file database and use this
	information for a search engine. Each page holds one concept?
      
- 
	link the files in a folder with the index.htm file in that folder or with
	<folder>s.htm in the parent folder to implement a heyerarchy in the
	database?
 
 
- 
    Periodically run an ASP page that picks
    the least recently checked link then
    
      - 
	If the link is remote, checks the link.
	
	  - 
	    If its ok, cache copy in a directory path made from the url by converting
	    all ":", ".", "?", "=" and "\\" to "/" (e.g. cache / http / www / microsoft
	    / com / dir / subdir / subsubdir / file / parm / value / parm / value) and
	    add/update a "cached <date>" link after the regular link that points
	    to the local copy.
	  
- 
	    If its not available, add/update "down <date>" between the regular
	    link and the cache link. Note: The date on the cache is the last date the
	    page was available.
	
 
- 
	If the link is local,
	
	  - 
	    If its ok, no action
	  
- 
	    if its not ok. try to fix it or email the webmaster.
	
 
- 
	Updates the last checked date in the record.
    
 
- 
    Now that remote pages are cached, run a search engine through the local copy
    and report remote url (reassemble from cache location), page of the site
    where the link was found (lookup in link table) and cached content excerpts.
  
- 
    Processing Priorety:
    
      - 
	Are there any files that are known to be out of date and that haven't had
	thier links indexed? Add / Update links to link table.
      
- 
	Are there any directorys that haven't been indexed? Index the directory to
	the files and dirs tables
      
- 
	Are there any files that need to be updated to the remote site? Modify and
	upload the file to the remote site.
      
- 
	Are there any links that haven't been checked / cached? Check and/or cache
	the link. Update the file and the link table entry
      
- 
	Re - index the oldest directory past X hours old
      
- 
	Re - check the oldest link past Y hours old
    
 
Current problems:
  - 
    fixed Images can not be served because only .ASP files are allowed
    by the server and default.asp seems to kill .GIF files when returning them.
    I think it may need to MIME encode them. see:
    
  
- 
    fixed
    http://204.210.50.240/techref/default.asp?from=/techref/&url=mailto:~NOSPAM~LISTSERVspam at KILLspamMITVMA.MIT.EDU?body=SIGNOFF%20PICLIST
    Worked around by makeing the original HREF =" vice href=" (added a space
    between the HREF and the =) so that the preprocessor does not change the
    link to a redirected one. This is slightly incorrect HTML syntax but at least
    IE4 deals with it. This is done now that we have a asp 404 page.
  
- 
    fixed Cant pass parameters to asp pages from links in the site. E.g.
    indexok.asp?n=1 generates an error. Should be ok now that we have an asp
    404 page.
  
- 
    fixed The urls are a bitch. The 404b.htm page has been modified with
    some JavaScript that redirects to the correct url given something in the
    standard form but an asp 404 page would be better. Now with the new server
    license, this works and it is very nice.
    
    
   
- 
    Can't upload binary files like pictures, etc... There are solutions that
    allow uploading pictures, but none insure that the pictures will not be porn,
    stolen, or otherwise unsutable. Tools that allow a user to draw diagrams,
    charts, or schematics would be more valuable. Pictures can always be emailed
    to the admin.
    
    
   
- 
    fixed Web harvesters, offline browsers, and other site rippers just
    freaking kill the server. Every asp page needs a bit of script to keep track
    of the last x requesting IP addresses and when more than some number of requests
    are recieved in a short time, redirect to a "Hey! Slow Down" page. indexok.asp
    provides that and more. When more than 6 "Slow Downs" have been issued in
    a few minutes, the user IP is added to a list of blocked users. All asp pages
    check that list before providing content and redirect to indexok.asp?blocked
    when found. All asp pages also look for known BOTs (WGET, etc...) and refer
    to indexok.asp which blocks. See also: Server
    Failures
See also:
   
   
  - 
    http://umbraco.org/ An open source, C#.NET
    CMS.
  
- 
    http://www.plone.org A very nice CMS.
    (with a massive security hole)
  
- 
    http://citeseer.ist.psu.edu/707719.html An interesting
    multi-user proxy based content management system
  
- 
    http://kmt.hku.nl/~pieter/SOFT/CGI/wikic.html WikiC is
    a standalone wikiserver written in the C language.
 It is not a CGI program which runs under a webserver, instead, it is a webserver
    itself.
 +
- 
    ~NOSPAM~beexcelspam at KILLspamhotmail.com
    refers to
    
      http://www.futureality.com/page_extractor.asp
      Page Extractor extracts Email Addresses, Page Links, Image Paths, IP Addresses,
      Fax Numbers and Phone Numbers as well as custom data extraction with regular
      expressions. http://www.futureality.com/page_extractor.asp
     
- 
    http://www.c2.com/cgi/wiki?WikiWikiWeb
    user editable hypertext db which is presented in an HTML template. Implemented
    in perl
    
      Interesting because, there is no membership requirement. Anyone can add anything.
      Pages can't be deleted if anyother page references them.
     
   
- 
    http://www.xanadu.com/ It is, after
    all, Ted's fault...
  
- 
    http://www.xanadu.com.au/
  
- 
    http://www.hyperwave.com/
  
- 
    http://www.crit.org/ Getting close...
  
- 
    http://sourceforge.net/projects/webwatcher/
    WebWatcher - WebWatcher - a Web-page Update Monitor This program will help
    you keep an eye on interesting Web-pages. You register a list of URLs you
    want to monitor, and WebWatcher checks for changes whenever you ask it to,
    or at given intervals.
James Michael
Newton says:
  to convert HTML to plain text... or at least strip out
  all the tags... 
  join(filter(split(replace(strFile,"<","><"),">"),"<",false),"")
James Michael
Newton says:
  Add a new action to the update script: "addunder" which
  has a "heading" parameter. Basically, you do a search (for the heading) and
  replace (with the heading and the text)
  
  to make a form where part of the text is hidden, use
  two fields with the same name and recombine them in the script. 
James Michael
Newton says:
  http://www.cs.sunysb.edu/~algorith/files/longest-common-substring.shtml
Redirect from an IP stable URL to your dynamic ISP assigned dialup IP address
after registration and a browser hit to a cgi script that updates the redirection
to the current value of your dynamic IP address. Putting the browser with
a default URL of the update cgi URL in the startup folder causes your machine
to connect to the ISP and update your current IP on the redirection server
Notification of site indexing by
www.mitsi.com The following link sends
an email with the name and IP address of the indexing web robot when the
page is indexed: 
<A
href="http://web.mitsi.com/netresults/email.pl/jamesnewton@geocities.com/techref/www.geocities.com/SiliconValley/Lab/3544/index.htm">
  </A>
Questions:
| file: /Techref/idea/website/techref.htm, 31KB, , updated: 2020/6/24 09:32, local time: 2025/10/31 04:05, 
 
216.73.216.87,10-2-37-96:LOG IN | 
|  | ©2025 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://www.piclist.com/tecHREF/idea/website/techref.htm"> Member update-able Technical Reference website Idea</A>
 | 
| Did you find what you needed? | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.