Networking with Pluto

This page is currently being written and re-written into two pages: one on general hints and tips on setting up RISC OS networking (the start of which is available), and one on Pluto.

Pluto has somewhat limited networking ability. This is described in the StrongHelp supplied with Pluto (Menu on Pluto's Icon on th eIcon Bar -> Help). Go to the Index page (via the link on the Contents page, 1st paragraph) then Networking with Pluto and Voyager. In the first paragraph there there is a link to Networking.

News and emails can only be downloaded on the computer where the transports (Hermes/POPStar and NewsHound) reside. This is also where Pluto will normally detach the incoming articles into its article directory.

Modern small networks consist of two or more similar computers which are effectively equal in status. There is no technical reason why Pluto's articles should be on the same computer as the News and Mail Fetchers, but that gets a bit complicated. So we will call this computer the "Server".

Once you have set up Pluto for networking, one copy of Pluto will be the "Master". The others are "Slaves". Again, there is no reason why the "Master" Pluto will be on the "Server" computer, but for simplicity we will assume it is. We will also assume that Pluto's "Articles" directory is with the "Master" Puto - but it can be anywhere on the Network.

To enable Pluto "slaves" to debatch fetched from computers other that the "Server" (i.e. on the "Client" computers) over the network, some things need setting up before Pluto can do so. Ssome of Pluto's choices (Preferences and Lists) can only be upodated on the "Master" copy of Pluto and every time you change these you will need to re-copy Pluto (its Choices directory) over to the "Slave" Plutos to keep these in step.

You must first decide which computer is to be the "Server". News and mail fetchers (Hermes/POPStar and NewsHound) will reside here along with the "Master" Plutos and Articles directory.

We next will need to set up a way that all your computers can access incoming email and news with the same information: you won't want to change all your computers every time you make, for instance a new mailbox. Updating by copying from the "Master" Pluto to the "Slaves" is work enough!

We can do this by setting up a Path: RISC OS has a powerful command "Set PATHNAME$path FSname" which sets up a path to some files so that they can be accessed via that PATHNAME rather than by a direct call to the filing system.

So I set up the PATHNAME via an Obey file in !Boot (i.e. !Boot.ChoicesBoot.Tasks.User). The commands can be very similar on all computers - which makes future maintenance much easier.

In my system, Hermes and NewsHound (which collect mail and news) currently live on a RISC PC, on its main hard disk. This computer is the Server and is called 'Lab'.

While setting up your network, you will (Iconbar -> Configure >- Network -> Internet -> Host names) have given your computer a "Host name". It is usually convenient to use this name as the name to share your computer's main Filing system over the network. But you do not have to do this: you can use your existing share name.

In case of error, I suggest you first copy your existing Pluto as a backup, so you can restore it in case of any problem.

Step 1 Naming the computers

You can probably miss this bit - if your computers are already set up sensibly. To check that try, in a TaskWindow
*show inet$hostname
If this returns the name you use for to share your computer, it's already sensible!

The Obey file on all our computers includes a line:
Share ADFS::4 <Inet$Hostname>
which in the case of our Server would share ADFS::4 as 'Lab'. For the ARMX6 the line is
Share SCSI::SSD <Inet$Hostname>
and for the Raspberry Pi it is

  • Share SCSI::SSD <Inet$Hostname>

    Setting up the Share: name as above is not strictly necessary. But does simplify any later maintenance!

    Step 2: define a consistent path to the incoming articles

    After Following this line there is another which is: on the server:
    Set Server$Path ADFS::HD4.
    and on each of the clients:
    Set Server$Path Share::xxx where xxx is the network name of the computer you have chosen as Server.
    (Tip: you could also use this same line on the server instead of the direct path (ADFS::HD4) that I have used above, so that all user files are identical).

    Step 3: Set up path for de-batching

    On the server, before running Pluto, you must explicitly set the appropriate SysVars to point to your mail and news fetchers via this Server$Path you have just set. So (as !NetFetch lives in $.WWW on my Server) I would put the following lines in a new temporary Obey file and run that.
    Set Hermes$Dir Server:WWW.!NetFetch.Apps.!Hermes
    Set NewsHound$Dir Server:WWW.!NetFetch.Apps.!NewsHound

    (Tip: if you open a TaskWindow in StrongED you can simply mark the lines and drag and drop them into it. But safest to do one line at a time.)

    You can find out the appropriate lines for these above two commands by opening a TaskWindow and doing
    *Show News*
    *Show Hermes*

    Step 4: Set up a directory for Pluto's articles

    Articles normally reside inside Pluto:$.!Pluto.Articles. Decide where you want to store your articles on the Server: computer. Move (or copy - in case of error) Pluto's articles directory to this location. In my case it is at ADFS::4.$.Articles. Via the Server$Path you set up in step 2 above, Server:DataApps.Articles now points to this from any computer.

    Set <Pluto$Articles> to point to the server. Open !Pluto.!Run in a text editor and you will find two lines:
    | Change and uncomment following line if your Articles are somewhere else Set Pluto$Articles <Obey$Dir;gt,.Articles
    So in my case I comment out the line as indstructed and add a line pointing to my own Articles. So these lines become:
    | Change and uncomment following line if your Articles are somewhere else | Set Pluto$Articles $lt;Obey$Dir7gt;.Articles Set Pluto$Articles Server:DataApps.Articles

    step 5: Server/client Plutos

    Open, in a text editor, !Pluto.!Run. At the end is a line
    Run <Pluto$Dir2>.Programs.!RunImage %*0
    this must be changed (as explained in Pluto's help file on Networking) to
    If "<net$HostName>"="X6" Then Run <Pluto$Dir2>.!RunImage %*0 -lock Else Run <Pluto$Dir>.!RunImage %*0 -lock -slave
    Where X6 is the name of the Server computer that holds Pluto.
    The astute amongst you may have noticed that Pluto is running on X6 (the name of my new ARMX6) which is not the same as Server: where new and mail are fetched. This is fine - it's because I am in process of changing from the old RPC to the ARMX6. The server version of Pluto may be on any computer in the network, not necessarily where News/Mail are fetched!

    Step 6: Run Pluto

    Run Pluto on the server and configure news and mail delivery to Newshound and Hermes (or PopStar).

    !Pluto.Choices.choices now explicitly points to the paths as Server: (rather than the absolute Share:) as this now looks at Hermes$Dir and NewsHound$Dir which you set up in Step 3. Quit Pluto.

    Step 6: slave Plutos

    You have a choice here. You can either run the main server's Pluto on the client (slave) computers or you can copy !Pluto over to the client computers and use those.

    However if you any changes that affect Pluto's choices can only ever be made on the main Server: Pluto since -slave mode disables such changes. It you do make a change on the Server: Pluto then you must copy over that main Pluto to any clients. If you do not do so, you will confuse Pluto's Users and Boxes etc.

    Really, Pluto needs updating so that all choices concerned with the Articles in question resides in Articles not in Pluto's choices!

    Top of page

    Page Information

    © 2015-2024 Richard J Torrens
    Page's Author: Richard John Torrens
    Page first published Friday the 10th of July, 2015
    Document URI:
    Last modified: 2020