iplib IPLIB reads a library file in the FIP Library format. It then converts the header fields to that of any one of several public databases including : Mead Data Central/NEXIS Lockheed Dialog FT-Profile - two versions ReuterFile/FDS DataTimes QL systems RNIB format a pc diskette format BASIS - two versions Generic SGML format Generic HTML format or, for the cases where the data is correct, no change Files coming into the input queue have a client/group code in a Fip Hdr field - normally DA. This is checked against the tables/sys/GROUPS file. Only client types LIB and SYN are actually handled here and MAIL, UNIXMAIL etc are sent as individual files to the postman, IPPOST. If the client is NOT in the GROUPS file, it may be handled here using the parameter file 'libclient:' parameter. IPLIB uses a parameter file, normally tables/setup/LIBRARY, which allows : ; comment lines start with a semi-colon newDA: Fip Hdr field containing the client or group code) default is the DA field. eg newDA:FP map: Map the begining of a filename for a particular client key (see also as a subkeyword in 'libclient') libclient: (client name) options. Prescribe the processing option for that particular client. All options must be on one and only one line. format: (type) processing type for this client valid formats are : fds ReuterFile-FDS k-dkt PC format profile FT-Profile xprofile FT-Profile - no stars at end format mead mead or Nexis ql QL systems lockheed Lockheed Dialog datatimes DataTimes rnib RNIB format sgml SGML format html HTML format basis BASIS format v2basis 2nd BASIS format curly DT format nochange No Change - data is already correct syntrigger: start the transmission via IPSYN immediately. xchg: (xchg name) name of an Xchg in tables/xchg which will be run on the output file. script: (script name) name of a script/program to be run against the output file (after xchg if there) dest: (new destination) Valid destination for the output file queue: (queuename) subqueue for the output file. This is under the output queue, spool/syn, or its replacement with the '-o' input switch. (either dest or queue should be specified) pcname: Make the filename a PC style (8 dot 3) inc-seqno: For Fds format, add a unique number to [FF] end-of-para: End of Paragraph string in FipSeq if not the original eg end-of-para:\s>\b\s\s\s map: (filename)=(client key) [ opt , (nextname)=(next key) ... ] Map the begining of a filename for a particular client key This is used for ReuterLine nad Profile as a Publication code ([SO]) eg: map:dm=DMR,ind=IND,ios=INS,pp=PP,sl=SL,sm=SM Up to 500 maps can be specified. (version 05c was 300) Keys can be put in double quotes if spaces or punctuation is required. eg: map:dm="The Mirror",sm="Sunday Mirror" line-length: no of chrs on a line. default is normally 0 or 75 for BASIS There must be a 'libclient' line for each LIB and SYN client specified in the DA field. The defaults are : format: pc format no syntrigger no xchg no script queue will be the name of the client (lowercase) in spool/syn on this system no mapping so for profile and FDS, the Publication code is the client name Input switches are : all optional : -i : queue to scan default: spool/2lib -o : output queue default: spool/syn -d : done queue for raw input default: input files are zapped -t : scan time of directory default: 5 secs -l : log each msg in default: do NOT log -z : parameter file default: tables/setup/LIBRARY -v : display version number and exit. Example : ; ; LIBRARY setup file for iplib ; map:daily PUB libclient:nexis type:mead xchg:LIBNEXIS queue:nexis libclient:radiosuisse type:pc queue:radio Version Control ;05f 28may99 added basis1, basis2 and curly/dt formats ;a 15sep99 SEPTEMBER spelt wrongly ;b 4jan00 y2k bug with year ;c 26apr00 bug - duff data caused a header field > 1000 chrs ;d 01sep05 upped maps to 500 ;e 07feb09 added -d done-que (copyright) 2019 and previous years FingerPost Ltd.