Changes between Initial Version and Version 1 of libtransmissionapp


Ignore:
Timestamp:
Dec 11, 2008, 3:00:16 AM (12 years ago)
Author:
Gimp
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • libtransmissionapp

    v1 v1  
     1= libtransmissionapp =
     2The goal of this document is to aid in the separation of transmission from two layers into three.
     3
     4== Manifesto ==
     5This text should probably be revised then placed in libtransmissionapp/README.txt
     6
     7This should achieve the following three layers in transmission:
     8 * __libtransmission__
     9   * This will handle the core functionality of bittorrent. downloading torrents / networking etc
     10 * __libtransmissionapp__
     11   * All the non-bittorrent api specific functions. For example: Moving completed files, queuing, scheduling, groups, filters
     12 * __Platform-specific front-end__
     13   * This will contain anything platform specific, like the cocoa gui, or the GTK+ gui, etc
     14
     15The addition of the middle layer should achieve a nicer code base, to provide a better entry for new developers, as well as ease the development of specific sections. developers will no longer have to deal with extraneous methods and code, when they're doing something like tweaking the downloading algorithm.
     16
     17In addition to the developer aid, this should result in a more level feature set across the different platforms on which transmission resides, as new features would be implemented in the middle layer, then simply interfaced at the front-end, instead of implemented at the front-end in the first place. In turn, support for the application will become easier, as all interfaces will have the same feature set. (no worry about mistaking something not in one front-end)
     18
     19In conclusion, separating Transmission from two to three layers should help both from a developer's point of view, and an end-user's.
     20
     21== Tickets ==
     22In order to properly manage this enormous task, a multitude of tickets must be created:
     23 * Each ticket will be assigned the component "libtransmissionapp"
     24 * Summary should contain which feature is to be moved into libtransmissionapp
     25==== Examples ====
     26 * Move rpc/clutch/web to libtransmissionapp
     27 * Move tr-getopt to libtransmissionapp