2 GnomeVFS 2.4 TODO (Michael's wishlist)
5 * backend test / validation framework
6 + nail down woolly semantics:
7 + if open SEEKABLE, then seek
8 shouldn't return 'not supported'
9 + consistant error return values for misc.
11 + URI / name escaping tests.
17 This TODO attempts to cover the larger changes that we
18 might want in a GnomeVFS 2.0 release accompanying GNOME 2.0.
19 Specific details on bugs, fixes, features should be found
20 in GNOME bugzilla, this is just intended to serve as a
21 roadmap of larger work-chunks.
23 Pretty much everything here is tenatively an "it would be nice"
24 sort of feature or change. We should highlight any changes
25 that are really critical.
27 --GNOME 2.0 platform--
29 * Communicate with application developers and get feedback
30 on changes or additions they'd like to see in GnomeVFS APIs.
32 -----New Features-----
34 * SSL support, particularly for the HTTP module
36 * Documentation, documentation documentation. We should gun
37 for 100% documented status for 2.0.
39 * gzip, bzip2, tar, etc. Figure out how to properly handle
40 these and implement it. It would be best if it can be
41 application transparent.
43 ----Enchancements-----
45 * Make the MIME database return the "correct information"
46 for a file. e.g. user selected icons, handling programs,
47 actions, etc. This will require the metadata API support.
48 (this may entail API changes to do it the "best way")
52 * Add a file metadata API. Adopt some convention
53 for storing metadata on filesystems without such (almost
54 all of the currently supported filesystems except WebDAV).
55 We probably want to use a large chunk of the Nautilus
56 metadata system for this.
58 * Add a filesystem event notification API. Write backends for
59 fam/imon and the Linux Kernel 2.4 directory monitor.
61 * Add helper functions to solve problems that application
62 programmers will run into frequently using GnomeVFS. For example,
63 parsing user input with relative paths and detecting
64 if they are URIs, URI fragments, plain paths...etc. Much
65 code of this nature needs to be refactored out of Nautilus.
69 * SMB module (Windows Filesharing)
76 =======================================================================
78 Items from an older TODO. I've removed a bunch of outdated items already,
79 but I suspect even more of these are invalid.
84 * tar method, cpio method.
86 * GZIP write support might be broken.
88 * Implement SMB support through Wayne's cool librarified Samba client
89 stuff (Wayne Roberts <wroberts@pwav.com>).
91 * Add some kind of conversation function, so that e.g. we can know
92 what step the op is performing. (E.g for `open()': "connecting to
93 ftp.some.site.net", "logging in", "getting dir listing", "retrieving
94 file.tar", "extracting file.c".)
96 * Make sure that only one module is initialized at a given time
97 (i.e. add a lock that must be obtained before calling the
98 `vfs_module_init()' function).
100 * Complete cancellation code, to make sure every operation can be
101 cancelled. We need to be able to send signals to the helper
107 * Better hiding of private stuff.
109 * We definitely need an `URI context', which is basically a URI prefix
110 which is used for subsequent calls. When creating a context, backends
111 can assume they are going to get several requests for sub-URIs
112 starting from that URI, and can try to optimize things. OR maybe we
113 can just have a function to "lock" a certain URI. This will make
114 everything easier to implement.
116 * Make directory/xfer calls cancellable as well.
119 gnome_vfs_monitor_callback's info_uri should be const.
124 * We need to install the private headers: otherwise, it is not
125 possible to write new modules without the full gnome-vfs source code.
126 Maybe we need to have more than two levels (i.e. more than just
127 "private" and "public" headers).