www.virtualacorn.co.uk/forum

For support and advice on VirtualAcorn products
Forums now closed. This is an HTML only record of the content.
HTML version of Forum generated Thursday 24th May 2018

All times are UTC [ DST ]




Post new topic Reply to topic  [ 22 posts ]  Go to page Previous  1, 2
Author Message
 Post subject:
PostPosted: Thu Nov 15, 2007 7:18 pm 
Offline

Joined: Wed Oct 24, 2007 6:29 pm
Posts: 124
Location: West Lancashire
As we can not edit our own posts in this forum, I will have to add the comment here - that this whole topic is only really of interest to those people like GNA, adamr and myself who have various reasons for wanting to rename HardDisc4.
In my case, the reason is to maintain compatibility with all of my other RiscOS computers, where the name of the boot disk is derived from the computer name. (A quick and easy reminder of which computer I am working with).

_________________
John


Top
 Profile  
 
 Post subject:
PostPosted: Fri Nov 16, 2007 11:01 am 
Offline
Site Admin

Joined: Wed Oct 23, 2002 12:16 pm
Posts: 958
Quote:
One of the fundamental points with the design of filing systems on RiscOS since the early Acorn days and still carried through until today is that file/directory pathnames can always be absolute or relative. This has always applied to both the command line and to properly written desktop applications, and applies to real computers or virtual ones.


Sorry, but you are mistaken. Several components in RISC OS use absolute path names e.g. PinBoard. This is for a very good reason, relative path names won't work.

Quote:
VirtualRPC-SE is your system. You have the right to build it how you like; but the !AccessSet application (like every other correctly written application) is based on those early Acorn principles and the AccessSet file does work with properly created relative directory paths (because the *share command will deal correctly with absolute or relative pathnames).


I am responsible for the RISC OS build in all the VirtualRPC products and spent a great deal if time optimising and tweaking the various builds to get the best performance for the end user. You will see that the VirtualRPC !Boot sequences have lots of updated components and later modules compared with a default !Boot for the same version of RISC OS. As such I am pretty familair with how the !Boot sequence needs to operate and also with potential problems caused by trying to use relative pathnames in inappropriate places.

Quote:
Relative paths beginning with $ are always taken from the root directory of the current disk (no matter what the current directory might be).

Which is exactly the problem - and is why AccessSet uses absolute paths. Perhaps I need to provide an example to show you the problem:
1. Lets us suppose you have a MyDocs folder on HostFS::HardDisc4
2. You set up AccessSet so this is shared.
3. You then need to install an application that requires ADFS
4. So you set the number of IDEDiscs to 1
5. Now you run the !BootADFS app on the new IDEDisc to move your
boot sequence from HostFS to ADFS.
6. You reboot - because AccessSet uses absolute paths your shared folder
(MyDocs) on HostFS is still correctly shared.
7. If you had tried to use relative paths ShareFS would now be trying to
share folder called MyDocs on the ADFS drive - which doesn't exist.
To conclude: Relative paths only work if all the files you are dealing with are on the same device on the same filing system. They fail completly with multiple devices on multiple filing systems. That's why any part of RISC OS (e.g. PinBoard) that might have to cope with multiple devices on multiple filing systems uses absolute paths. And AccessSet does the same.
i.e. it conforms correctly to the standard specified by Acorn.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Nov 16, 2007 12:07 pm 
Offline

Joined: Tue Jul 26, 2005 5:36 pm
Posts: 108
Aaron wrote:
Several components in RISC OS use absolute path names e.g. PinBoard. This is for a very good reason, relative path names won't work.
Yes, fair enough.
But I don't think it's unreasonable to expect people, when installing their new VA system, to want to rename the harddisc. When I did this, the only obstacle was the SetAccess file. Unfortunately this results in quite a cryptic and unhelpful message during boot - so if it was possible to have the clean/out-of-the-box !Boot not include that one reference to "HardDisc4" I think it would be helpful :)
Adam


Top
 Profile  
 
 Post subject:
PostPosted: Fri Nov 16, 2007 3:28 pm 
Offline
Site Admin

Joined: Wed Oct 23, 2002 12:16 pm
Posts: 958
The problem is that the AccessSet file needs to be present in the default boot. The default !Boot sequence is set up so that even users who are not experienced with RISC OS can get stuff working straight away.
What you are suggesting is that I should remove functionality that benefits 95% of users in order to make it easier for 5% of users who wan't to rename the harddisc (which can still be done anyway). Sorry but I am not prepared to do that. Given that certain parts of RISC OS use absolute paths renaming the harddisc is always going to be fraught with problems.
I've already ensured that as much of the boot sequence as possible is relative (so it can be copied to ADFS by the !BootADFS application) - but setting up Shares correctly will always need absolute paths.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Nov 16, 2007 5:13 pm 
Offline

Joined: Tue Jul 26, 2005 5:36 pm
Posts: 108
Aaron wrote:
What you are suggesting is that I should remove functionality that benefits 95% of users in order to make it easier for 5% of users who wan't to rename the harddisc
No, not at all - sorry if I gave that impression. I just meant that it might be worth looking into, in case there's a way of changing it (perhaps with an appropriate IfThere) without any other disagreeable effects. If that's not the case then I'm happy to take your word for it (I know absolutely nothing about RO networking).
Adam


Top
 Profile  
 
 Post subject:
PostPosted: Sat Nov 17, 2007 4:16 am 
Offline

Joined: Wed Oct 24, 2007 6:29 pm
Posts: 124
Location: West Lancashire
This is turning into a discussion which nobody can win, because I can demolish your reasoning in much the same way that you can demolish mine. Fundamentally you are right and I am not wrong :)
Quote:
Sorry, but you are mistaken. Several components in RISC OS use absolute path names e.g. PinBoard. This is for a very good reason, relative path names won't work.

With a real (out-of-the-box) Acorn Risc OS Computer (say, a Risc PC700 running Risc OS 3.6), do the following steps:
1. Open a Task Window (^F12)
2. In the window give Pinboard a relative pathname by typing *pin $.!Boot.choices 100 500
3. Watch as Pinboard accepts the relative Pathname and pins 'choices' to the desktop at position 100 500.
4. Double click on the 'choices' icon to open the directory and see that the relative pathname was accepted and dealt with.
Changing the current directory or the current disk (or even current filing system) after the pinning was done will not affect the pinned icon. It still opens correctly, when double clicked.
Of course, it will also work with an absolute pathname.
Unfortunately trying to demonstrate this on a VirtualRPC-SE build is impossible as the pinboard module is broken - resulting in *pin commands not working correctly with either absolute or relative addresses :(
-----------------------------------------------------------------
Having said all of that, we are all still left with the fact that the out-of-box build of VirtualRPC-SE does not allow users to easily change the name of the hard disc without a generating a subsequent error. (It can only be done, by manual editing the cfg file before the system is booted for the first time).
Incidently, it is also confusing that the disc which identifies itself as 'HardDisc4' is actually HostFS::0 rather than HostFS::4 :!:

_________________
John


Top
 Profile  
 
 Post subject:
PostPosted: Sat Nov 17, 2007 12:13 pm 
Offline
Site Admin

Joined: Wed Oct 23, 2002 12:16 pm
Posts: 958
Quote:
This is turning into a discussion which nobody can win, because I can demolish your reasoning in much the same way that you can demolish mine. Fundamentally you are right and I am not wrong :)
Quote:

I am afriad that you can't "demolish" my "reasoning". I am sorry to say that all you are demonstrating is that you aren't as familiar with the inner workings of RISC OS as you think. This is not a criticism, I wouldn't expect most people to have delved as much under the skin of RISC OS as I have over the years.


Quote:
With a real (out-of-the-box) Acorn Risc OS Computer (say, a Risc PC700 running Risc OS 3.6), do the following steps:
1. Open a Task Window (^F12)
2. In the window give Pinboard a relative pathname by typing *pin $.!Boot.choices 100 500
3. Watch as Pinboard accepts the relative Pathname and pins 'choices' to the desktop at position 100 500.
4. Double click on the 'choices' icon to open the directory and see that the relative pathname was accepted and dealt with.


You missed out step 5: Save the Pinboard file to a text editor. Scroll to the bottom and see that the "relative" path you added was converted to an absolute path by the pinboard module so that the Pinboard link to the folder choices will work regardless of any other changes to the current directory.

Quote:
Changing the current directory or the current disk (or even current filing system) after the pinning was done will not affect the pinned icon. It still opens correctly, when double clicked.


Indeed - because the pinboard module has done the relative to absolute conversion in order to ensure that it works.

Quote:
Unfortunately trying to demonstrate this on a VirtualRPC-SE build is impossible as the pinboard module is broken - resulting in *pin commands not working correctly with either absolute or relative addresses :(


Incorrect. I've just tried it here and it worked perfectly - and I know from feedback from other users that it works correctly - if your particular install isn't working correctly it's because it's got broken somehow. Can you please double check what you say in future as I don't want incorrect information posted on the support forums.

Quote:
Having said all of that, we are all still left with the fact that the out-of-box build of VirtualRPC-SE does not allow users to easily change the name of the hard disc without a generating a subsequent error. (It can only be done, by manual editing the cfg file before the system is booted for the first time).


And if you try it on a real machine? You get similar problems. Because RISC OS uses a number of absolute pathnames (as I explained) changing the name of the boot drive will always cause some problems along the way.

Quote:
Incidently, it is also confusing that the disc which identifies itself as 'HardDisc4' is actually HostFS::0 rather than HostFS::4 :!:

HardDisc4 is the default name for the boot drive on many real machines and we have kept this convention to make it easier for users who are familiar with this setup. It's not confusing - what would be confusing would be calling it something different to what a user would expect to see on a real machine.
Anyway I think I am going to declare this discussion closed.


Top
 Profile  
 
 
Post new topic Reply to topic  [ 22 posts ]  Go to page Previous  1, 2

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

   
Forums originally Powered by phpBB © 2007 phpBB Group. Contents © 3QD Developments Ltd 2018 version no. 1.07