AdvancedFileAccess

From Inkscape Wiki
Revision as of 22:19, 9 December 2003 by Ted (talk | contribs) (Adding a comment about GNOME-VFS dependencies.)
Jump to navigation Jump to search

Advanced File Access

The current method of interacting with files in Inkscape is limited. This feature proposal explores ways it can be replaced with a more powerful, more capable system.

Requirements

As a minimum, the new system must fulfil the following needs:

Additionally, the following properties are highly desireable:

  • WebDAV support
  • FTP support

Further, the following capabilities have been mentioned as somewhat desireable:

Finally, there are some capabilities that are distinctly *not* needed:

Options

GNOME-VFS

Filesystem abstraction layer

Pros:

  • High level interface to internet-based file access
  • Asynchronous file ops
  • File monitoring
  • Operation cancellation
  • Bulk file operations
  • MIME typing
  • Inet connections & operations
  • Abiword uses it
  • Has been ported to Win32

Cons:

  • API documentation is spotty
  • Many dependencies: libbonobo, libbz2, fam, libgcrypt, libpopt, libtasn, gconf, glib, gnutls, orbit2, libxml, zlib and gnome-mime-data. (but is included in every distro. that has GNOME and many dependencies only result in reduced functionality not the inability to build)

Questions:

  • Is it available on OSX?

Neon - http://www.webdav.org/neon/

HTTP and WebDAV client library.

Pros:

  • Provides HTTP/WebDAV methods
  • Support for OpenSSL, proxy, authentication
  • WebDAV metadata properties
  • Embeddable into a source tree

Cons:

  • API is not yet stable and subject to major changes

Questions:

  • Does it work on Win32?
  • Does it work on OSX?

libgsf

Utility lib for reading/writing structured file formats.

Pros:

  • Provides svgz, copy/paste, BonoboStream, and Win32 Istream support
  • Support for OLE2 streams, zip input
  • Used in gnumeric, mrproject, abiword, libwv2, koffice, and also part of the AAF format.
  • Lite dependencies: glib, zlib, libxml2

Cons:

  • May be more GNOME-dependent than we would wish
  • Insufficient documentation

Questions: