SCS7317%OCVAXB@VB.CC.CMU.EDU ("Christopher Seline ", Enfilade Hurts) (05/13/88)
POSTNEWS(VMS) allows any VMS site with inter-net access to POST to any USENET news group. I have received several requests to post POSTNEWS(VMS) to the net. We (at the project) have been unable to determine how to improve the documentation, so we are releasing this product today. We would appreciate any comments, or suggestions on how to improve the POSTNEWS(VMS) manual. POSTNEWS(VMS) must be configured for your site. The project has been unable to determine how best to document the installation process. Your comments will be used to write a manual to aid those who install POSTNEWS in the future. Christopher Seline NEWS(DECNET/VMS) Project Manager SCS7317@oberlin.bitnet SCS7317%ocvaxa@vb.cc.cmu.edu (internet) ihnp4!oberlin!cjs
SCS7317%OCVAXB@VB.CC.CMU.EDU (Christopher Seline) (05/13/88)
POSTNEWS(VMS) allows any VMS site with inter-net access to POST to any USENET news group. I have received several requests to post POSTNEWS(VMS) to the net. We (at the project) have been unable to determine how to improve the documentation, so we are releasing this product today. We would appreciate any comments, or suggestions on how to improve the POSTNEWS(VMS) manual. POSTNEWS(VMS) must be configured for your site. The project has been unable to determine how best to document the installation process. Your comments will be used to write a manual to aid those who install POSTNEWS in the future. Christopher Seline NEWS(DECNET/VMS) Project Manager SCS7317@oberlin.bitnet SCS7317%ocvaxa@vb.cc.cmu.edu (internet) ihnp4!oberlin!cjs ....................... Cut between dotted lines and save ...................... $!.............................................................................. $! VAX/VMS archive file created by VMS_SHAR V-5.01 01-Oct-1987 $! which was written by Michael Bednarek (U3369429@ucsvc.dn.mu.oz.au) $! To unpack, simply save and execute (@) this file. $! $! This archive was created by SCS7317 $! on Friday 13-MAY-1988 09:09:37.17 $! $! It contains the following 2 files: $! POSTNEWS.COM POSTNEWS.RNO $!============================================================================== $ Set Symbol/Scope=(NoLocal,NoGlobal) $ Version=F$GetSYI("VERSION") ! See what VMS version we have here: $ If Version.ges."V4.4" then goto Version_OK $ Write SYS$Output "Sorry, you are running VMS ",Version, - ", but this procedure requires V4.4 or higher." $ Exit 44 $Version_OK: CR[0,8]=13 $ Pass_or_Failed="failed!,passed." $ Goto Start $Convert_File: $ Read/Time_Out=0/Error=No_Error1/Prompt="creating ''File_is'" SYS$Command ddd $No_Error1: Define/User_Mode SYS$Output NL: $ Edit/TPU/NoSection/NoDisplay/Command=SYS$Input/Output='File_is' - VMS_SHAR_DUMMY.DUMMY f:=Get_Info(Command_Line,"File_Name");b:=Create_Buffer("",f); o:=Get_Info(Command_Line,"Output_File");Set(Output_File,b,o); Position(Beginning_of(b));Loop x:=Erase_Character(1);Loop ExitIf x<>"V"; Move_Vertical(1);x:=Erase_Character(1);Append_Line; Move_Horizontal(-Current_Offset);EndLoop;Move_Vertical(1); ExitIf Mark(None)=End_of(b) EndLoop;Position(Beginning_of(b));Loop x:=Search("`",Forward,Exact);ExitIf x=0;Position(x);Erase_Character(1); If Current_Character='`' then Move_Horizontal(1);else Copy_Text(ASCII(INT(Erase_Character(3))));EndIf;EndLoop;Exit; $ Delete VMS_SHAR_DUMMY.DUMMY;* $ Checksum 'File_is $ Success=F$Element(Check_Sum_is.eq.CHECKSUM$CHECKSUM,",",Pass_or_Failed)+CR $ Read/Time_Out=0/Error=No_Error2/Prompt=" CHECKSUM ''Success'" SYS$Command ddd $No_Error2: Return $Start: $ File_is="POSTNEWS.COM" $ Check_Sum_is=1864639013 $ Copy SYS$Input VMS_SHAR_DUMMY.DUMMY X$! postnews.com`009`009Copyright 1988 Chris Seline X$ ! X$ ! See end of postnews.com for instructions on customizing postnews for X$ ! your installation. X$ ! X X$! *************************************************************************** X$! ******* REMOVE THIS MESSAGE FOR YOUR SITE *********************** X$ write sys$output "Postnews must be configured SPECIFICLY FOR YOUR SITE." X$ write sys$output "Please see end of postnews.com for more information." X$ write sys$output "Abort." X$ exit X X$ ! If you find this software to be of use, a donation might be nice. Send X$ ! $10 to: X$ !`009`009Chris Seline X$ !`009`009127 Green Bay Rd. X$ !`009`009Winnetka, IL 60093 X$ ! If you've already donated for the NEWS(DECNET/VMS) package, there is X$ ! NO NEED to send money for this module. X X$ ! X$ ! postnews.com`009`009Send USENET news messages to the world X$ ! X X$ ! HISTORY X$ ! X$ ! 17 Apr 88`009`009`009`009Added post to news_fariste::"rnews" X$ ! 11 Apr 88 Modified for user configuration X$ ! 27 Nov 87 19:00:00 EST`009 `009Established V1.00`009-cjs X$ echo `009:= write sys$output X$ if F$TRNLNM("news_editor") .eqs. "" then news_editor :== edit X$ if p1 .eqs. "DEBUG" then goto debug X$ ! X$ start: X$ echo "start" X$! *************************************************************************** X$! ******* CHANGE THIS MESSAGE FOR YOUR SITE *********************** X$ TYPE SYS$INPUT X XRemember! The message you post will be transmitted all over the whole United XStates. Anything you post should be of interest to more than just LOCAL USERS. XIf you post something offensive or stupid, about 10,000 people will see the Xmessage. So think twice before sending a message. X X$ 10$: inquire subject X$ if subject .eqs. "" then goto 10$ X$ inquire Keywords V$ 20$:inquire newsgroup "Newsgroups (remember, I don't check this for validity) X" X$ if newsgroup .eqs. "" then goto 20$ X$ TYPE SYS$INPUT X XRemember! XFor reasons of speed I do not check to see if you are posting to a valid Xgroup. You should check to be sure you are sending to a valid group. X X$ ! We don't check for reasons of speed, so you can post to a group X$ ! that is not supported locally X$ ! X$ open/write out news-message.postnews `009! create the message file X$ write out "Subject: " + subject X$ write out "Keywords: " + f$EDIT(keywords, "LOWERCASE") X$ write out "Newsgroups: " + f$EDIT(newsgroup,"LOWERCASE") X$ write out "" X$ write out "(Enter message below this line)" X$ write out "" X$ write out "(Enter message above this line)" X$ open/read/err=skipit in sys$login:signature.postnews ! append signature X$loop3: X$ read/end=eof2 in a X$ write out a X$ goto loop3 X$ eof2: X$ close in X$skipit: X$ close out X$ goto proceed X$ ! X$ proceed: X$ echo "Proceed>>>" X$ assign tt: sys$input/nolog X$ assign tt: sys$output/nolog X$ 'news_editor' news-message.postnews X$ deassign sys$input X$ deassign sys$output X$ loop: X$ inquire which "[LIST EDIT SEND WRITE QUIT] " X$ which = f$edit(which,"UPCASE,COLLAPSE, UNCOMMENT") X$ if which .eqs. "LIST" then goto list X$ if which .eqs. "EDIT" then goto edit X$ if which .eqs. "SEND" then goto send X$ if which .eqs. "WRITE" then goto write X$ if which .eqs. "QUIT" then exit X$ echo "<" + which + ">" + " nope, try again!" X$ goto loop X$ ! X$ list: X$ echo "list>>>" X$ type news-message.postnews X$ goto loop X X$! X$ edit: X$ echo "edit>>>" X$ 'news_editor' news-message.postnews X$ goto loop X$! X$ send: X X$ debug: X$ echo "send>>>" X$ ! preprocess X$ echo "Preprocessing -- this takes a bit of time -- please wait..." X$ open/read in news-message.postnews X$ open/write out workfile1.postnews X$ read in subject X$ read in keywords X$ read in newsgroups X$ lines = 0`009`009`009! count # of lines in message X$loop_1: X$ read/end=eof in a X$ if a .eqs. "(Enter message below this line)" then goto loop_1 X$ if a .eqs. "(Enter message above this line)" then goto loop_1 X$ write out a X$ lines = lines + 1 X$ goto loop_1 X$ eof: X$ close in X$ close out X X$ ! end of preprocess X$ ! X$ ! calculate message info X$! *************************************************************************** X$ !***** THIS IS WHERE THE MAGIC SYMBOLS ARE -- CHANGE THESE FOR YOUR SITE X$ set ver X$ mesg = f$CVTIME(,,"HOUR")`009! create a uniq message number X$ mesg = mesg + f$CVTIME(,,"MINUTE")`009! made of current time + pid X$ mesg = mesg + f$CVTIME(,,"SECOND") + "." + F$FAO("!SL",f$pid(junk)) X X$! *************************************************************************** X$ !****** CHANGE messageID. Replace ocvaxa.oberlin.edu with the internet X$ !address of your site. The internet address is the mail address someone X$ !would use to send mail to your site. If you still can't figure it out, X$ ! use your DECNET node name (for example site.decnet). X$ !************************** X$ messageID = "<" + mesg + "@ocvaxa.oberlin.edu>" X X$! X$ username = f$edit(f$getjpi("","username"),"COLLAPSE") X$! make a date X$! "27 Nov 87 19:46:38 GMT" X$ time = f$time() X$ mon = f$cvtime(time,,"month") X$month= f$element(mon,"\","\Jan\Feb\Mar\Apr\May\Jun\Jul\Aug\Sep\Oct\Nov\Dec") X$ date = f$cvtime(time,,"day") + " " + month + " " X$ date = date + f$extract(2,2,f$cvtime(time,,"year")) + " " X$ date = date + f$extract(0,8,f$cvtime(time,,"time")) + " GMT" X$ ! form into final message X$ open/read in workfile1.postnews X$ open/write out workfile2.postnews X X$! *************************************************************************** X$! ******* CHANGE THIS FOR YOUR SITE *********************** X$ ! replace Oberlin.bitnet with the name that the computer(s) you are mailing X$ !the news message to (see further on) use to mail messages TO your computer. X$ !********** X$ write out "NPath: oberlin.bitnet!" + username X$ write out "NFrom: " + username + "@oberlin.bitnet" X$ ! X$ write out "N" + newsgroups X$ write out "N" + subject X X$ write out "NMessage-ID: " + messageID X$ write out "NDate: " +date X$! write out "NReferences: " + references X$! write out "NReply-To: " + reply-to X$! *************************************************************************** X$! ******* CHANGE THIS FOR YOUR SITE *********************** X$ ! Change "na" to "world" if you are outside north america X$ write out "NDistribution: na" X$! X$ write out "NAdvert: POSTNEWS/READNEWS for VAX/VMS SCS7317@OBERLIN.BITNET" X$ write out "NUA: Oberlin Network News <V01.01>" X$ ! CHANGE "Oberlin College" to the name of your organization. For example X$ ! if you work for Alcoa, change "Oberlin College" to "Alcoa" X$ write out "NOrganization: Oberlin College" X$! *********** X X$ write out F$FAO("NLines: !SL", lines) X$ write out "N" + keywords X$ write out "N" X$ loop4: X$ read/end=eof4 in a X$ write out "N" + a X$ goto loop4 X$ eof4: X$ close in X X$ close out X$ ! X$ ! mail it to our feed systems X$ echo "Posting it -- please wait..." X X$ ! You may add extra 'target' sites. For example, in addition to posting X$ ! to news_farsite, my site, Oberlin, posts to uunet, and to our CS Dept VAX X$ ! (which gets its mail from us via PMDF). X$ ! X$ ! o You should send the mail to a site that can process USENET. X$ ! X$ ! o We send to uunet ( a backbone ). If you decide to send to uunet, please X$ ! contact postmaster@uunet.uu.net and ask permission first. X V$ mail/noself workfile2.postnews news_farsite::"rnews"`009! COMMENT OUT IF YOU XONLY USE POSTNEWS and not NEWS(DECNET/VMS) V$ !!!mail/noself workfile2.postnews in%"""rnews@uunet.uu.net""" ! use this if y Xou do not share a DECNET with a site supporting USENET~r V$ mail/noself workfile2.postnews jnet%"""rnews%occs%ocvaxa@cmccvb""" ! if you X have jnet/bitnet also use this address X$ ! X X$ ! clean up X$ delete/noconfirm/nolog workfile*.postnews;* X$ ! X$ echo "Done...I hope it worked...you'll get returned mail if it didn't" X$ echo "in which case you should find the brightest person you know, and" X$ echo "ask them for help." X$ exit X$! X$ write: X$ echo "write>>>" X$ inquire where "Name of file to write to" X$ where = f$edit(where,"UPCASE,COLLAPSE, UNCOMMENT") X$ if where .nes. "" then copy/log news-message.postnews 'where' X$ goto loop X$! X$! X$! X$ ! VARIOUS THINGS MUST BE CHANGED FOR THIS PROGRAM TO WORK CORRECTLY X$ ! FROM YOUR SITE. UNFORTUNATELY, BECAUSE THE NETWORK CONFIGURATION X$ ! OF EACH SITE IS DIFFERENT (I.E. SOME RECEIVE PMDF, UUCP, OF SMTP X$ ! MAIL WHILE OTHERS USE DECNET OR JNET) I CAN NOT GIVE YOU ANYTHING X$ ! BUT GENERAL HINTS ON HOW TO CUSTOMIZE THIS PROGRAM FOR YOUR SITE. X$ ! X$ ! SECTIONS MARKED WITH "***************" MUST BE CHANGED FROM THE DEFAULT X$ ! SETTINGS FOR POSTNEWS TO WORK CORRECTLY. BY "WORK CORRECTLY" I MEAN X$ ! PRODUCE VALID USENET ARTICLES. UNFORTUNATELY, THERE IS NO REAL WAY X$ ! TO KNOW WHETHER POSTNEWS IS PRODUCING CORRECTLY FORMATTED ARTICLES X$ ! -- EXCEPT THAT SOME INCORRECTLY FORMATTED ARTICLES WILL NOT POST X$ ! (THOUGH MOST WILL). X$ ! X$ ! SO I WISH YOU LUCK. I FEEL IT IS UNFORTUNATE THAT THE USE OF NETWORKS X$ ! REQUIRES LOTS OF ARCANE KNOWLEDGE, BUT IF ANY IDIOT COULD DO THIS, THEN X$ ! YOUR EMPLOYER PROBABLY WOULD NOT PAY YOU AS MUCH AS THEY DO. X$ ! X$ !END. X $ GoSub Convert_File $ File_is="POSTNEWS.RNO" $ Check_Sum_is=191563822 $ Copy SYS$Input VMS_SHAR_DUMMY.DUMMY X.lm 8 X.rm 72 X.sp 1 X.ap X.p 0,1,3 X X.c80;--------------------------------- X.c80;| POSTNEWS | X.c80;| USENET News posting utility | X.c80;--------------------------------- X X.c80;(c) 1988 by Christopher Seline X.sk 4 X X.c80;^&Introduction\& X XPOSTNEWS is a DCL program that allows the user to post news items X("messages") to the USENET News service ("Netnews"). The program was Xwritten to complement the NEWS NetNews reading utility. It is Xstrongly recommended that the user thoroughly familiarize him/herself Xwith NetNews through the NEWS manual before using POSTNEWS. XYou should read everything in the newsgroup news.announce.newusers Xbefore posting messages. X.sk2 X X.c80;^&Getting Started\& X XTwo system variables may have to be dealt with before using POSTNEWS. X"news__farsite" defines the USENET site that you are using as your Xgateway to USENET. This should already have been defined for using XNEWS; it remains the same for POSTNEWS. See the NEWS Xmanual for more information. X X"news__editor" tells XPOSTNEWS what editor to use when you write your message. It is Xalready defined as "edit"; change it only if you usually edit your Xfiles with a command like EDIT/TSP. Define it like this, either at Xthe prompt or in your LOGIN.COM file: X.sk1 X.c80;$ news__editor :== edit/tsp X XThe POSTNEWS program itself should be stored in a public directory Xon your system. Your system manager can tell you where it is located. XRun the program by typing '@', immediately followed by the program Xname. For example, here is how the program is run at Oberlin: X.sk1 X.c80;@softlib:[share]postnews X XRather than typing the directory and program names every time you Xuse POSTNEWS, you can define this command to be something Xsimpler in your LOGIN.COM file, like so: X.sk1 X.c80;$ postnews :== @softlib:[share]postnews X XAgain, your system manager can tell you where to find the program Xon your system. Now, simply type 'postnews' to run the program. X X.sk2 X.c80;^&Using Postnews\& X XPOSTNEWS is a one-shot program: you post one Xmessage with it, then quit. X XWhen you invoke the program, it will ask Xyou for the Subject (i.e., title) of your message, the Xkeywords, and the newsgroup(s). The Subject should be concise and Xdescriptive. Keywords, used by some news readers for scanning Xarticles for particular topics, are optional. If you give one or Xmore, they should indicate the subject you intend to discuss more Xspecifically than the newsgroup name. X XThe program will warn you that it does not check the validity of the Xnewsgroup name you give it. This is partly in the interest of Xefficiency, and partly because it allows you to post to newsgroups Xnot known to the system you are on. For example, you may wish to Xpost a message to a newsgroup specific to AT_&T, but you are not Xdirectly linked to AT_&T and thus never see their news. This way, Xthe message will float around the NetNews world until it finds its Xnewsgroup, and will not try to tell you that the newsgroup does not Xexist. X XNext, the program will invoke the editor on a file called X"news-message.postnews". The file will already contain subject, Xkeyword, and newsgroup headers with the information you entered. XIt will also have two lines of text that say "(Enter message below this Xline)" and "(Enter message above this line)". Do ^¬\& delete those Xlines. The program will remove them before it posts the message. X XEnter the text of your message between those lines. You can also Xedit the header lines, if you see you have made a typo in the subject, Xkeywords, or newsgroup. Do not change anything else in the file. X XNote that since you are using your usual editor on a normal file, Xyou can insert other files as part of the text. See your editor's Xdocumentation for information on how to do this. X XWhen you have completed composing the message, exit the editor as Xyou normally would. The file will be saved and the POSTNEWS Xprogram will resume. The article has not been posted yet. X XYou are now given a command line that looks like this: X.lit X[LIST EDIT SEND WRITE QUIT] : X.el XYou can respond with any of the five options. They need not be Xin capitals, but you must type the entire word. X X.lm 16 X.p -8,1,3 XLIST####Shows you the file you just edited. Useful for checking Xwhether or not the editor worked properly and the file is as it should be. X XEDIT####Return to editing the file to make changes before it is posted. X XSEND####Post the article. You ^&must\& do this if you want your article Xto be posted. The program stops automatically after you SEND. X XWRITE###Make a copy of the article in another file for future reference. XPOSTNEWS will prompt you for the file name you wish to store it under. X XQUIT####Exit the program. Do this ^&only\& if you do not want your Xarticle to be posted. X X.lm 8 X.p 0,1,3 XThe same prompt will reappear after these commands, except for SEND Xand QUIT. XAfter you exit the program, the file news-message.postnews will remain Xin your current directory. This is primarily so you can remember what Xyou posted. X XThis also is useful if you forget to SEND the message before you quit. XRename the file to be 'temp.news', or something you can remember. XThen, edit it using your normal editor and remove everything but the Xtext of the message. Now run POSTNEWS and, when you reach the Xstage with the editor, insert that file into the new message and Xproceed normally. X XGood luck! $ GoSub Convert_File $ Exit