gnomeweb-wml r5868 - trunk/www.gnome.org/start/2.22/docbook/C
- From: davyd svn gnome org
- To: svn-commits-list gnome org
- Subject: gnomeweb-wml r5868 - trunk/www.gnome.org/start/2.22/docbook/C
- Date: Sun, 24 Feb 2008 03:27:31 +0000 (GMT)
Author: davyd
Date: Sun Feb 24 03:27:30 2008
New Revision: 5868
URL: http://svn.gnome.org/viewvc/gnomeweb-wml?rev=5868&view=rev
Log:
A big chunk on GVFS/GIO
Modified:
trunk/www.gnome.org/start/2.22/docbook/C/rndevelopers.xml
Modified: trunk/www.gnome.org/start/2.22/docbook/C/rndevelopers.xml
==============================================================================
--- trunk/www.gnome.org/start/2.22/docbook/C/rndevelopers.xml (original)
+++ trunk/www.gnome.org/start/2.22/docbook/C/rndevelopers.xml Sun Feb 24 03:27:30 2008
@@ -24,10 +24,94 @@
<sect2 id="sect:gvfs-gio">
<title>GVFS and GIO</title>
+ <!-- much of this text is stolen from
+ http://fedoraproject.org/wiki/Features/Gvfs and the GIO API docs -->
+
<para>
+ GVFS is a userspace virtual filesystem with backends for things like SFTP,
+ FTP, DAV, SMB, ObexFTP, etc.
GVFS is the replacement for GNOME-VFS. GNOME-VFS should now be considered
deprecated and developers should not use it in new applications.
</para>
+
+ <para>
+ GVFS/GIO aims to provide a modern, easy-to-use VFS system. Its goal is to
+ provide an API that developers prefer over raw POSIX IO calls. Rather than
+ closing the POSIX IO API, it provides a higher-level, document-centric
+ interface. As well as reading and writing files, GIO provides facilities
+ for file monitoring, asynchronous IO and filename completion.
+ </para>
+
+ <para>
+ GVFS consists of two parts:
+ </para>
+ <itemizedlist>
+ <listitem><para>
+ GIO, which is a new shared library that is part of
+ <application>GLib</application> and provides
+ the API for GVFS; and
+ </para></listitem>
+ <listitem><para>
+ GVFS itself, which is a new package containing backends for various file
+ system types and protocols such as SFTP, DAV, SMB and ObexFTP.
+ </para></listitem>
+ </itemizedlist>
+
+ <para>
+ The way GVFS works is that it runs a single master daemon (gvfsd) that
+ keeps track of the current GVFS mounts. Each mount is run in a separate
+ daemon (some mounts share a daemon process, but most don't). Clients talk
+ to the mounts with a combination of D-BUS calls (on the session bus and
+ using peer-to-peer D-BUS) and a custom protocol for file contents.
+ Moving the backends out-of-process minimises dependancy bloat for
+ applications and makes the whole system more robust.
+ </para>
+
+ <para>
+ GVFS also offers a FUSE mountpoint in <filename>~/.gfvs/</filename>
+ so that GVFS mounts can be exposed to legacy applications utilising
+ standard POSIX IO.
+ </para>
+
+ <para>
+ GVFS utilises the new
+ <ulink href="http://www.freedesktop.org/wiki/Specifications/trash-spec">
+ Desktop Trash Can</ulink> specification from freedesktop.org. Unlike
+ GNOME-VFS, connections in GVFS are stateful. This means that a user only
+ needs to enter his or her password once, not over and over again for each
+ successive connection.
+ </para>
+
+ <para>
+ API documentation for using GIO is
+ <ulink href="http://library.gnome.org/devel/gio/unstable/">available
+ online</ulink> along with migration guides for moving from POSIX IO and
+ GNOME-VFS to GIO.
+ </para>
+
+ <sect3 id="sect:gvfs-regressions">
+ <title>Regressions</title>
+
+ <!-- FIXME: check we need this section -->
+ <para>
+ Although GVFS fixes a lot of problems that previously existed by using
+ GNOME-VFS there are currently some feature regressions. Most notably:
+ </para>
+ <itemizedlist>
+ <listitem><para>no FTP support;</para></listitem>
+ <listitem><para>no network://, fonts:// or themes://
+ targets; and</para></listitem>
+ <listitem><para>no <guilabel>Connect To...</guilabel>
+ dialog.</para></listitem>
+ </itemizedlist>
+ <para>
+ These issues will be fixed as soon as possible. There are also some
+ applications that still remain to be ported over to GVFS, the state of
+ this port is <ulink href="http://live.gnome.org/GioPort">documented
+ online</ulink>.
+ </para>
+ </sect3>
+
</sect2>
<sect2 id="sect:anjunta">
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]