gnome-vfs API freeze items
- From: Maciej Stachowiak <mjs noisehavoc org>
- To: gnome-vfs ximian com
- Cc: gnome-2-0-list gnome org
- Subject: gnome-vfs API freeze items
- Date: Sat, 1 Sep 2001 03:43:17 -0700
Below please find the list of potentially API-changing bugs for
gnome-vfs. This is definitely too long a list for 2.0, so the next
step is to prune the list. I have already punted the metadata items
and anything depending on them since Seth agreed to let me roll back
the metadata changes for now and do the work on a branch or in his
working directory until the code is ready.
Here is the bugzilla query to get uncategorized gnome-vfs API issues
(currently 40):
http://bugzilla.eazel.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=gnome-vfs&short_desc=%5E%5C%5BAPI%5C%5D&short_desc_type=regexp
Here is the bugzilla query to get gnome-vfs API issues definitively
planned for the 2.0 API freeze (currently 0):
http://bugzilla.eazel.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=gnome-vfs&short_desc=%5E%5C%5B2.0%5C%5D%5C%5BAPI%5C%5D&short_desc_type=regexp
Here is the list of bugs, along with my suggested target release for
each (no opinion yet, do now or never do, 2.0, 2.2 or 3.0) and
rationale. If you disagree with any of these or have an opinion where
I don't, please speak up.
If no one disagrees with any of these, that would leave us with 16
bugs definitely punted, 11 definitely on the 2.0 list, and 11 more
still to be determined.
No opinion yet (8 bugs)
--------------
* 8516 - [API] GClosure-ize everything
Note: I'm told this is critical for binding authors but I don't
really know the details of what it is, how to do it, or how much
work it would be.
* 8544 - [API] add thumbnail support
Note: I would personally make this a 2.2 item, but Lutz seems to
want it. It will almost certainly end up 2.2 unless Lutz steps up
to the plate with some code soon. :-)
* 8545 - [API] Add prioritized versions of all async calls
Note: this seems like a large change with lots of new code and new
entry points so I am not sure we should do it at all, but Laszlo
seems very interested in adding it.
* 8451 - [API] gnome-vfs API for filesystem monitoring needs finishing
Note: I would personally prefer to roll back the monitoring code
as was done with metadata and do the work on a branch until it is
ready, but Ian (the maintainer) seems to really want it in.
* 1203 - [API] GNOME_VFS_FILE_INFO_DEFAULT is not a good name
Note: this would be really easy to change if we knew for sure we
wanted to change it and had something to change it to.
* 7911 - [API] URI handling scheme cleanup and generalization
Note: we have a patch for this, in the bug report, I'm just not
sure yet if the change is a good one in principle.
* 6840 - [API] There is no way to remove a system wide application.
Note: not sure what exactly yhis bug is asking for
* 1202 - [API] some of GnomeVFSFileInfo could be private
Note: would be nice to make the whole struct private and use
accessors; doable in time?
* 2801 - [API] GnomeVFSURI should handle URIs with schemes that no
module can handle
Note: would be nice to do for 2.0, but can be done largely
compatibly later. Perhaps this should not even be considered an
API change if 798 is done.
Do now or never do (3 bugs)
------------------
* 1107 - [API] for clarity and "%00" handling, make all file name APIs
be URI encoded
* 1377 - [API] Reconsider URI method chaining design
* 4103 - [API] text/* is not a valid wildcard
Not sure if we should do these, but if we don't do them now, we should
probably never do them. All of these are likely to break a lot of
stuff if changed in the future (and perhaps even if changed now.
Suggested for [2.0] (11 items)
-------------------
* 8447 - [API] Authentication callback API is not threadsafe
Rationale: this is a new API since 1.0, so we should fix it before shipping it.
* 8448 - [API] Authentication callbacks require explicit threading when using async API
Rationale: this is a new API since 1.0, so we should fix it before shipping it.
* 8514 - [API] kill gnome-vfs-seekable
Rationale: application authors seem to find this actively harmful more often
than they find it helpful. Removal is relatively easy compared to
adding. Technically incompatible so cannot be 2.2.
* 8515 - [API] kill gnome-vfs-transform
Rationale: Nothing uses this, as far as I know. Removal is
relatively easy compared to adding. Technically incompatible so
cannot be 2.2.
* 8511 - [API] split public and module APIs
Rationale: The fact that this is not done is an eyesore. It should
be a relatively mechanical change to make and will mostly only
affect modules.
* 8519 - [API] rename `method' to something else (`module'? `protocol'? `scheme'?)
Rationale: simple mechanical change if we can decide on a new name.
* 8512 - [API] gnome-vfs-iobuf / gnome-vfs-socket-buffer duplication
Rationale: mechanical change, removes unnecessary / unused API
* 8518 - [API] gnome-vfs-helpers API needs cleanup
Rationale: This is new API since 1.0 and it's messy in various ways.
We really should clean it up before releasing it.
* 8517 - [API] kill back end API since we only have one back end now
and it doesn't need to be a module any more
Rationale: removing the backend API from the installed headers
should definitely be done for the 2.0 API freeze. Removing
internal use of the backed API can be punted til after the freeze.
* 798 - [API] API inconsistent about GnomeVFSURI * vs. char *
Rationale: We really should kick GnomeVFSURI out of the public
interface. This seems pretty doable.
* 1086 - [API] GnomeVFSURI path functions need better names, comments
Rationale: Current situation is a mess, once we pick some good names
this change is easy and almost mechanical
Suggested for [2.2] (11 items)
-------------------
* 870 - [API] Many calls have sync. versions only, no async. versions.
Rationale: Compatible change, so it can be made later; no time to
do it for 2.0.
* 4554 - [API] GNOME-VFS symlinks need to support cross-scheme symlinks
Rationale: We might be able to do this compatibly, and it is a lot of
work requiring careful new design. Seth also thinks this is not a 2.0
item.
* 799 - [API] No fast way to count directory items
Rationale: This would indeed be nice, but it can clearly be done
in a compatible way, and there isn't much time to do this whole
new feature for 2.0.
* 8506 - [API] URI schemes want to specify icon, default application, etc
Rationale: I would really like to see this for 2.0 but it's just too
much work to do in the time allotted. Can be added compatibly however.
* 8507 - [API] it should be possible to do http POSTs
Rationale: Probably can be done compat, no one seems to be stepping up
to the plate to do it for 2.0
* 8509 - [API] http redirects should be supported
Rationale: Probably can be done compat, but it's a fair amount of work that
no one seems to be doing.
* 8508 - [API] change module stacking interface to enable proper moniker support
Rationale: too much work for 2.0; hopefully we can find a
compatible way to do it, especially given module versioning (I'm
imagining an open_chained or open_stacked call in the module
operations struct).
* 6483 - [API] gnome-vfs should standardize removable device detection, access and naming
Rationale: can probably be added compatibly, but involves new API and is not
really crucial for 2.0
* 1198 - [API] Should have a context for file methods to allow setting a prefix
Rationale: can probably be added compatibly, but involves new API and is not
really crucial for 2.0
* 8513 - [API] buffered I/O API
Rationale: can probably be added compatibly, but involves new API and is not
really crucial for 2.0. Also, would probably be a bunch of new code.
* 458 - [API] Indicate whether a file operation can succeed.
Rationale: seems unlikely anyone will do this for 2.0, even though
it would be quite useful for many things.
Suggested for [3.0] (5 items)
-------------------
* 8510 - [API] make xfer API less confusing
Rationale: Likely incompatible, but no way this can be done in
time for 2.0.
* 1192 - [API] progress callbacks need a cleaner set of return values
Rationale: Incompatible change but I just don't see this happening
for 2.0.
* 1206 - [API] GnomeVFSXferProgressInfo has fields source_name and target_name that hold URI strings
Rationale: incompatible but does not seem like an important change
* 837 - [API] gnome_vfs_async_xfer returns a result unlike other async. ops
Rationale: I don't think anyone is going to do work on fixing up
the xfer API for 2.0
* 1205 - [API] separate xfer options and xfer actions
Rationale: I don't think anyone is going to do work on fixing up
the xfer API for 2.0
[Date Prev][
Date Next] [Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]