[Oberon] Files - search | Edit.

easlab at absamail.co.za easlab at absamail.co.za
Tue Nov 18 16:59:55 CET 2003

On Sun, 16 Nov 2003 Alexander wrote: 
> Is it possible to change the Length of Filenames to more than 32 chars? 
> Hence the Aos-FS doesn't support directories, it would be good if one 
> could manage his files by "emulating" directories with dots.

Well, the 32 char length is a very fundamental attribute of n-o (Aos-FS);
a bit like ten-fingures. Perhaps any change would be catastrophic ?
The next size would be 64. 
Consider that 80 and 72 (email)  are standard line widths.
And then there's the extra chars for the partition ID eg:
Have you got partitons in Aos-FS ?

This 'no directories' topic has been discussed much, over the years.

Here's some background:------------
From: Christoph Kuhn[59] (Christoph.Kuhn at iwi.unisg.ch[60])
Subject: Re: Are these strange features useful?
Newsgroups: comp.lang.oberon[62]
Date: 1994-10-04 21:05:21 PST

First of all: Files are something for the operating system - not for the user.

In a modern desktop-metaphor concept the user deals with persistent 
objects in compound documents. 
As an example see the developments in Oberon System 3.

A user should not have to deal with files. Some people may argue, that if 
everything were always persistent editing a document would not be as 
before, since many users are used to the FAQ by many (non Oberon) 
"Do you wish to (cancel | save | abort | help | never again | quit | ...)".
What the user really would like in this situation is version control while 
working with a document, i.e. before starting to work on an existing doc 
(object), he creates a new version.

It is important to separate the requirements of an end-user and those of
an operating system when it comes to file-systems. 
Otherwise one ends up with intricate file viewers like in NeXT-Step to deal 
with all the special files 
(e.g. scripts starting with '.', device-drivers, directories, ...)

Here are some simple practical findings based on heavy usage of n-o:
* I don't use names: <ID>.<ext> for text files, because 'touching'
    System.DeleteZ  could be bad, but SystemDeleteZ is safe and just
     as mnemonic. 
*  The use of several partitions adds an extra level of heirarchy.
*  Several users have remarked on the problem of knowing where
     to search (eg. in Unix).     I'd rephrase this to emphasise that 
   "being able to reduce the search-space is important". 
     Having multiple partitions helps much.

I'd like to explore what I understand of Christoph Kuhn's comments above.
Apparently one could eg. have an e-mail gadget with descendant gadgets:
PendingList, SentList, List1, List2, ...

Normally I'd have separate text-files for: PendingList, SentList, List1, ...

Apparently one could selectively open and edit the various textGadgets ?
Perhaps the <what's it called ?> Notebook-gadget, which can be
'paged', could contain one (variable capacity) page per list-element.

The important attributes to make this useful are:
1. grouping like objects together;
2. the non-currently-used objects must be hidden.

As a user who's not yet explored Gadgets, here's my log of my
first attempt to explore this possibility:--

 * build a heirarchy of Texts attatched to a Gadget;
 * [Store] it to a separate partition, to see where/how the texts are stored.
Partitions.Show ~
IDE0#34     47MB 131 |Linux fs
IDE0#35  26772MB --- |(Free)
IDE1#32     40MB 131 |Linux fs  <--- Use it
IDE1#33   3403MB --- |(Free)

Partitions.ChangeType IDE1#32  131 76 ~
Partitions.Format  IDE1#32 ~ ==  IDE0#13 ==  format successful

OFSTools.Mount  Panel  AosFS  IDE1#32 ~ == Panel: mounted
OFSTools.Watch == Panel: GCAosFS on IDE1#32
	39MB of 39MB free

Desktops.OpenDoc  Panel:DirTreePanel ~  
Store "Panel:DirTreePanel"
System.Directory Panel:*\d 
==Panel:DirTreePanel  18.11.2003 14:06:43     113
Use SYS:Gadgets.Panel to insert a TextDoc 
  & insert some text & Store "Panel:DirTreePanel"
  System.Directory Panel:*\d
  ==Panel:DirTreePanel  18.11.2003 14:20:54     361
Insert MUCHmore text & Store "Panel:DirTreePanel"
  System.Directory Panel:*\d
  ==  Panel:DirTreePanel  18.11.2003 14:24:45     500
Reload Panel:DirTreePanel  == TextGadget contents is lost ?!

?? The TextDoc gadget which was intended to simulate a text-file
of the 'directory' DirTreePanel was not saved. 

Q1.  Why ?

Q2. Is it viable to use the 'pageable-book-gadget' for a list of
            texts ?

Q3. I guess the text gadgets which are descendants of DirTreePanel 
   are all stored in the file DirTreePanel , which could be quite large.

To reduce file-store time, I often deliberately break a single
  'topic' into 3 files.

== Chis Glur.

More information about the Oberon mailing list