Hi Rich,
here are some ideas for solutions, simplest one
first:
1.) Use the existing FTP support, and add a custom Filter
for the directory you want
to show by default. For further
fine tuning, you can also put the connection definition
into a shared profile, and delete
the "Root" and "My Home" filters leaving only the
newly defined
filter.
2.) Programmatically create a variant of the existing FTP
subsystem: In your plugin.xml,
define a new
org.eclipse.rse.core.systemTypes named "Webappcabaret FTP"
and
an extension of
org.eclipse.rse.ui.subsystemConfigurations "Webappcabaret
FTP"
The implementation of
ISubSystemConfiguration would delegate most of the work
to the actual FTP provider,
but also ensure that the first time a connection is made,
correct filters are created for
home directories as needed.
You could also write an FTP
Service Delegate that calls all methods from the original
FTP service except for the "chdir"
command where you could forbid access to some
directories you don't want to see
accessed.
3.) If you want to use any other protocol than FTP for
accessing the server, you can
write the associated
Service and SubSystemConfiguration. Take the ssh subsystem
or the FTP subsystem
as a template. Writing a service is not too hard.
4.) Using dstore with a custom server launcher could also
be an option. If you have some
method (e.g. ssh) of starting the
dstore server on demand only, and perhaps even
"tunnel" the dstore connection,
you don't need to have the dstore daemon running.
section "SSL Encryption and
firewalls"
5.) If you don't have any server support ready that you
could use, you could also write
your own server and associated client
service. But that's certainly the most effort.
I'm curious to hear what you choose.
Keep contact!
Cheers, -- Martin Oberhuber Wind River Systems,
Inc. Target Management Project Lead, DSDP PMC Member http://www.eclipse.org/dsdp/tm
Through my ISP
(www.webappcabaret.com), I have a web-site hosting account which includes
access to their Apache Tomcat servlet container. I write and deploy
servlets, but I don’t have privileges required for running the “dstore” server
(e.g. couldn’t open the “dstore” port).
What would I need to do to
implement remote access to my account, through HTTP-based requests which are
handled by servlets (i.e. servlets that I either write or existing RSE
servlets (?) that I deploy) ?
For instance, say I wanted to view
a particular sub-directory tree on my host account as a remote resource.
Would I have to write both client- and server-side implementations of some
particular set of RSE interfaces?
(I do have FTP access and could
use the existing FTP-protocal support, but I actually want a more custom
remote directory view, e.g. one which doesn’t provide access to the top-level
directory that FTP leads to, but instead a particular sub-directory which
depends on a current “user” as defined by an Eclipse-based client-side
username/password prompt.)
Thanks,
Rich
Wagner
|