Skip to main content
Jump to: navigation, search

Eclipse File Service APIs Compared

Revision as of 05:45, 29 May 2006 by (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This page compares features and use cases for remote file access APIs that are currently found in Eclipse.

This document is under construction, not finished yet.

Eclipse Remote File APIs


  • viewcvs:
  • viewcvs:
  • Supports remote move, remote copy operations
  • Categorization of remote files, including support for symbolic links (derived classes of IHostFile)
  • Use Strings as canonical pathes (with '/' file separator)
  • Very lightweight and simple to implement since only Strings and two interfaces
  • Synchronous operations for upload, download (with IProgressMonitor, suitable for jobs)
  • No callbacks or other "watch" facilities
  • Supports remote file encodings different from local
  • RSE implementation does persistent caching of remote files

Eclipse Filesystem (EFS) API

  • viewcvs:
  • Overview on bug 106176 plan: provide more flexible workspaces
  • Existing sample implementations for ZIP and FTP file systems
  • Fully integrated with Platform Resources, allows transparent access to remote files
  • Fully abstract notion of remote pathes through URI for the root, plus parent/child relationships for the siblings
  • Supports remote move, remote copy operations
  • Synchronous operations for upload, download (with IProgressMonitor, suitable for jobs)
  • Originally written for performance optimizations on the local file system (through native calls), plus fully abstract access to remote file stores like databases
  • No notion of symbolic links or other advanced attributes
  • No callbacks or other "watch" facilities
  • URI has been criticized to be heavy-weight (but is only needed to specify the filesystem root, not necessarily the siblings)
  • Registered via extension point - problematic if multiple different implementations for the same access scheme exist, e.g. two implementations for "ftp:" access scheme in URI
  • API for file caching during the current Eclipse session

Team/Target Management API

  • Will be dropped in favor of EFS, according to the Platform/Team group.
  • Will then provide FTP and WebDAV implementations for EFS

ECF fileshare API

RSE and Remote Files APIs

  • Currently, RSE uses the RSE files API on its backend
  • Allows to present whatever backend implementation as an EFS on its frontend
  • Eventually, RSE could also accept EFS providers on its Files backend. The value-add of RSE over plain EFS would then be
    • persistent caching
    • access to remote resources outside the workspace
    • connection and filter management
      • selection of channels
      • password/keyring management
    • association of shell and other channels with the files channel

Back to the top