[saga-rg] NSDir - and working directory

Andre Merzky andre at merzky.net
Fri Aug 26 06:45:16 CDT 2005


Hi Terry!


Quoting [Terry Sloan] (Aug 26 2005):
> 
> Terry Sloan
> 
> 1. Are both source and target relative to a current working directory ?

Yes.  I made that clearer in the spec.


> 2. Can the absolute path be used in the source and target ?

Yes.


> 3. Can source be remote (ie. not local) ?

Yes.  All file names, dir names etc. are supposed to be
URI's, and are allowed to be local or remote, absolute or
relative.  

> 4. If the source and target working directories are persistent for a 
> user session where are they to be stored?

That is up to the implementation - the API does not imply
any persistency right now, so any implementation not
providing persistency between sessions can still be SAGA
compliant.

I am actually not sure if the API is allowing persistency
for many things.  PWD should be no problem, the same for the
default session and context. 


> 5.  If both absolute and relative paths can be used how are these to be 
> distinguished?

Long asnwer:
This is a difficult question, as we had many (and I expect
we will have many more) discussions about URI's, and how to
express absolute and relative paths.

For simple file names it is, well, simple:

 - absolute file names       start with '/'
 - relative file names don't start with '/'

For URI's is tricky.  Several parties expressed the opinion,
that it is impossible to specify relative paths with URI's.

Consider 

  http://www.host.net:1234/tmp/data.txt

The 3rd '/', which separates host/port from the path
element, is often considered part of the path.  That would
result in '/tmp/data.txt', and is absolute.

Other people say, that the 3rd slash is not part of the
path, and the above uri points to 'tmp/data.txt', which is
relative.  In their opinion, an absolute URI would need two
slashes, like:

  http://www.host.net:1234//tmp/data.txt

I am personally not sure which way is 'correct'.  I think
acceptable are both.

Now, it is probably not part of the SAGA groups agenda to
semantically define URI's.  Hence we could just throw up
hands and cry "implementation dependend".  However, it would
be good to include a proposal for URI handling into the
spec.  Its not in there yet.

Short answer: *shrug*


> 6. In the very first call to a SAGA API, if the source or target is 
> relative to a current working directory then where is the source or 
> target current working directory set ? Particularly if the source is 
> non-local.

Short answer: *shrug* ;-)

Long answer: it depends...

For example, if you are using http as protocol for the rmote
URI, your 'pwd', which would be the default directory on the
remote host, would be http-root, e.g. /var/www/htdocs/.  For
an ftp uri, it might be /usr/ftp/pub/, for ssh it might be
your home directory.  Or a sandbox.

We are not happy about that mess.  In particular, it makes
it difficult to translate an uri with scheme A into an uri
with scheme B - unless you know the local setting for that
scheme on that host, for the respective user.  Ugh!

The same remark as above holds I think: SAGA cannot solve
that problem, really, but it would be nice to have a
sensible, simple and acceptable description/recommendation
for that in the spec - right now we don't.

I hope that helps.  Thanks for the remarks, 

  Andre.




-- 
+-----------------------------------------------------------------+
| Andre Merzky                      | phon: +31 - 20 - 598 - 7759 |
| Vrije Universiteit Amsterdam (VU) | fax : +31 - 20 - 598 - 7653 |
| Dept. of Computer Science         | mail: merzky at cs.vu.nl       |
| De Boelelaan 1083a                | www:  http://www.merzky.net |
| 1081 HV Amsterdam, Netherlands    |                             |
+-----------------------------------------------------------------+





More information about the saga-rg mailing list