[Pipet Devel] Gnome stuff
J.W. Bizzaro
bizzaro at geoserve.net
Sun Dec 19 12:12:27 EST 1999
Brad Chapman wrote:
>
> So, bonobo is just for embedding a component of one
> program inside the container of another program. Okay.
Right, and I think only GUI components.
> Okay--will this be stored directly in the XML representing the workspace
> graphical script? For instance if we had a container representation like
> the following:
[cut]
> <location>/usr/local/loci/workspace</location>
But since the network is transparent to Loci, all <locations>s have a URI.
So, the above location would be something like this:
<location>locus://localhost/</location>
where
/usr/local/loci/
Is the root directory for Loci.
***JUST USE APACHE AS AN EXAMPLE***
/home/httpd/html/
Is the root directory for Apache Web pages (on RedHat), and this is given the
URI/URL
http://localhost/
Note that Apache can access _local_ directories using the same URL mechanism
for _remote_ access. THIS IS HOW LOCI WILL WORK.
Perhaps Loci's root should be
/home/loci/
(I can see we'll get some arguments about this from BSD users :-))
> <container>
> <name>my_seq_files</name>
> <location>/usr/home/chapmanb/my_seq_files</location>
>
> <file>
> <name>gb_file_1.gb</name>
> </file>
>
> <file>
> <name>gb_file_2.gb</name>
> </file>
>
> <container>
> <name>fasta_files</name>
> ...the contents of the directory
> </container>
>
> <container>
> <name>phylip_files</name>
> ...the contents of the directory
> </container>
> </container>
> </container>
Right. When the container locus is made, all of the XML is generated,
including that of the windowlet contents, which in the case of a container, is
the _directory_ contents.
> If /usr/local/loci/workspace is where everything is analagous to the root
> directory in a web server, this is where the "Loci filesystem" starts.
You're correct that Loci should not have access to '/'. This would be a
security problem, especially when a container can point to (via URI) the
filesystem of a remote computer. Maybe we should have 2 branches under Loci's
root directory:
/home/loci/public/
/home/loci/private/
Remote Loci can then only access what is in the public directory.
> Then
> if a user double clicks on the my_seq_files container icon, we would go
> through the XML to look for my_seq_files and find it at
> loci_root.my_seq_files, which would by default be located at
> /usr/local/loci/workspace/my_seq_files.
Yes.
> In this example, I figured that the
> user would probably have their sequence files located in some home
> directory and not on the loci filesystem (/usr/home/chapmanb/my_seq_files,
> in this example). So then we have something analagous to a symbolic link,
> with /usr/local/loci/workspace/my_seq_files ->
> /usr/home/chapmanb/my_seq_files. So my idea here is that the location of a
> file or directory would be with respect to the loci_root directory unless
> there is a <location> tag directly specifying to look elsewhere.
Good idea. You get a star.
Regarding a user accessing things in his home directory, and even making some
things public, we can do what Apache does and have
locus://bradcom.com/~brad/
point to
/home/brad/loci/
and you would have
/home/brad/loci/public/
/home/brad/loci/private/
/home/brad/loci/workspace/
too.
> Anyways, is this along the lines of what people were thinking for
> the representation? I haven't really said anything about how to actually
> generate this kind of XML, but I just wanted to make sure I was on the
> right track!
You are correct, sir!
> Okay, so if in the above example I wanted to move gb_file_1.gb from the
> container to the main workspace, I would drag it into the workspace and in
> the real directory structure, the file would move from
> /usr/home/chapmanb/my_seq_files/gb_file_1.gb to
> /usr/local/loci/workspace/gb_file_1.gb? Do you want the file to actually
> move, or just to create a link to the file from inside the
> /usr/local/loci/workspace directory system?
Hmmmm. I suppose the user can either 'copy' or 'move' something onto/from the
Workspace (and other areas) just like using a file manager (copy means the
original stays, and move means the original is deleted). But I don't think
the user should be able to 'move' a file to/from a _remote_ system, so only
copying would be allowed in such a case. I'd say that by default a DnD would
move a locus, unless it is remote (not on the local filesystem).
Keep in mind though, that when the user manipulates loci, he/she is only
manipulating an XML _representation_ of something that can exist anywhere on
the Internet (and is _always_ referenced to via URI). Since that XML
representation should be small (about the size of a typical Web page), the
transfer of it should be trivial. So, I wouldn't create symlinks but just
copy or move the XML representations.
The transfer of the actual program or data that the locus represents is
another case altogether. I think this can be handled (in a GUI sense) via
pop-up menu option and not DnD.
Cheers.
Jeff
--
+----------------------------------+
| J.W. Bizzaro |
| |
| http://bioinformatics.org/~jeff/ |
| |
| THE OPEN LAB |
| Open Source Bioinformatics |
| |
| http://bioinformatics.org/ |
+----------------------------------+
More information about the Pipet-Devel
mailing list