diff options
author | antrik <antrik@users.sf.net> | 2009-03-18 19:21:46 +0100 |
---|---|---|
committer | antrik <antrik@users.sf.net> | 2009-03-18 19:23:05 +0100 |
commit | c4637ade8df5b54c90a83daef71e773f85f1697c (patch) | |
tree | a029629559ccca6da1c94adc6fe0c26e721f4034 /community/gsoc/project_ideas/download_backends.mdwn | |
parent | 17bf94b83943d013574855b50cbf452e52c4ef56 (diff) | |
download | web-c4637ade8df5b54c90a83daef71e773f85f1697c.tar.gz web-c4637ade8df5b54c90a83daef71e773f85f1697c.tar.bz2 web-c4637ade8df5b54c90a83daef71e773f85f1697c.zip |
Download backends GSoC task: More appropriate file name
Diffstat (limited to 'community/gsoc/project_ideas/download_backends.mdwn')
-rw-r--r-- | community/gsoc/project_ideas/download_backends.mdwn | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/community/gsoc/project_ideas/download_backends.mdwn b/community/gsoc/project_ideas/download_backends.mdwn new file mode 100644 index 00000000..aa4823de --- /dev/null +++ b/community/gsoc/project_ideas/download_backends.mdwn @@ -0,0 +1,47 @@ +[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU_Free_Documentation_License|/fdl]]."]]"""]] + +[[meta title="Use Internet Protocol Translators (ftpfs etc.) as Backends for Other Programs"]] + +The Hurd design faciliates splitting up large applications into independent, +generic components, which can be easily combined in different contexts, by +moving common functionality into separate Hurd servers (translators), +accessible trough filesystem interfaces and/or specialized RPC interfaces. + +Download protocols like FTP, HTTP, BitTorrent etc. are very good candidates for +this kind of modularization: a program could simply use the download +functionality by accessing FTP, HTTP etc. translators. + +There is already an ftpfs traslator in the Hurd tree, as well as a [httpfs +translator on hurdextras](http://www.nongnu.org/hurdextras/#httpfs); however, +these are only suitable for very simple use cases: they just provide the actual +file contents downloaded from the URL, but no additional status information +that are necessary for interactive use. (Progress indication, error codes, HTTP +redirects etc.) + +A new interface providing all this additional information (either as an +extension to the existing translators, or as distinct translators) is required +to make such translators usable as backends for programs like apt-get for +example. + +The goal of this project is to design a suitable interface, implement it for at +least one download protocol, and adapt apt-get (or some other program) to use +this as a backend. + +This task requires some design skills and some knowlegde of internet protocols, +to create a suitable interface. Translator programming knowledge will have to +be obtained while implementing it. + +It is not an easy task, but it shouldn't pose any really hard problems either. + +Possible mentors: Olaf Buddenhagen (antrik) + +Exercise: Make some improvement to one of the existing download translators -- +httpfs in particular is known to be buggy. |