===========================
CIS services file converter
===========================

Description
===========
  This is a utility to convert services files, 
downloaded using Readcis, to a format which allows 
JBcis to recognise individual news items. 
This means it can display list of news items in the
same way as mail and forum messages. You can also 
manipulate stories more easily: jumping quickly to 
stories you want to read, saving stories of 
interest, printing etc.


Installation
============
Unzip the files and then:

1 Copy CSconv.opa to \App\Readcis\

2 Copy all the opo files to \App\Readcis\filters\. 

  If you don't want to use a particular filter you 
can just delete it. But if you use APFrance services 
then you must also have APO.opo. 
  The main program, CSconv can be installed on the 
system screen and run independently of Readcis or 
JBcis, if memory is a problem.


Mode of operation
=================
  The program can work in one of two ways. You 
choose which way it will work when the program is 
run.

In Collect mode, all the news items are put into 
one file called All_news.cis. The original files 
are deleted. This saves memory and is convenient 
because all the stories are in one file.

In separate mode, the service files are converted 
but not collected together. The original filenames
are kept.  This means all the news items from a 
particular service are kept together.

  I have put a check in to make sure that the size 
of converted data is at least 85% of the original. 
This stops a file being delete if the filter 
couldn't convert it.


Automatic mode selection
========================
  If you always use the same mode, you can create a 
switch to skip the options dialog appearing every 
time the program is run.
  Create a switch using Readcis called CS_SEP.ON 
for Separate mode or CS_COL.ON for Collect mode.


Using with JBcis
================
  Run CSconv from inside JBcis using Shift-psion-W. 
CSconv will run. When it is finished, control 
returns to JBcis and you will see a file selection 
dialog from which you choose the service file 
you want to read. If you chose Collect mode then 
you will probably want to look at All_news.cis
since this will contain all of the converted news 
items.


Notes on program operation
==========================
  Note, although the program asks you to press a 
key when it ends, this isn't necessary since the 
program will close by itself after 15 seconds. This 
gives you time to read any messages in the report 
windows.
  You can pause or exit the program by pressing 
"Help", "menu" or Diamond keys at any time.

  
More filters?
=============
  I would like to do a filter for Spiegel services; 
I think its possible but this would be a lot of 
work mainly because I can't read German (Shameful I 
know, if it was Japanese...). I wont do anything 
unless people are interested. The same applies to 
ENS. I would be interested to hear how people 
use this service: what wires you use and how many
different wires in each folder etc.
Something for a limited number of wires would be 
fairly easy I think.

  The main program, csconv.opa, looks for files in 
the service directory  and, for each one it finds, 
it looks for a filter with the same name. You can 
make some of the filters work with different user 
scripts eg the Pao filter will work with files 
downloaded with Steven Cooper's script (Paoscr.zip 
in Lib. 18) for news and sports stories. 

  The APO filter also works in this way. In fact it 
will convert APFrance stories. To save memory I 
have made the APFrance and APfrIntl filters sort of 
short cuts to the APO filter. If you use them you
must have the APO.OPO filter as well.

  The FA.OPO filter is a similar short cut for PAO
which can be copied and renamed to work with any
script which downloads PAO stories. Just copy and 
rename the file with the name of the service file 
you want it to work on.

Writing filters
===============
  The filters are fairly easy to write. There are 
some common routines built in to make it easier. If 
you want info about writing them for a user script
or whatever, let me know.


Blurb at the end
================
  I only wrote this program originally because it 
would be useful to me and to show it was possible. 
It works on my setup in the way I use it. I hope 
it's useful to you. I would be very interested to 
hear your comments and of course any bugs you find.

  The original idea for this came from a program 
called Paox by Sean Corfield. 


Thanks to John Boyce for putting the necessary code 
into JBcis.


Thanks to Dennis Lefebrve for very useful feedback.

Copyright Nick Whitehurt [106124,2103]
