Project

General

Profile

Functional definition » History » Version 21

Greg Burri, 07/01/2009 03:32 PM

1 1 Greg Burri
h1. Functional definition
2
3
This page will describes the scope and utilization of Aybabtu.
4 4 Greg Burri
Some sections will describe a particular window from the user interface, it may refer to the [[GUI]] page.
5 1 Greg Burri
6
7
h2. Description
8
9 21 Greg Burri
Aybabtu come with two executables, the Core and the GUI. It possible to launch one of them alone or both together on the same computer. The GUI is needed to command a Core, to tell it what you want to download, to share, to search, etc. To do that the user have to tell the GUI to connect to a given Core. The Core can be _local_ or _remote_, by default the GUI will try to connect to a local Core. If the connecting attempt to a local Core failed it will try to launch a local Core and connect to it.
10 1 Greg Burri
11 15 Greg Burri
The simple usage of Aybabtu is to launch the GUI which will automatically launch the Core. The user may not know there is two distinct process. The core will display an icon in the tray icon (if a tray icon exists). If the user close the GUI the core will continue to run, if he wants to stop the core he have to invoke a contextual menu from the tray icon and choose _Close the Core_. The user can launch the GUI by double-clicking under the tray icon.
12 1 Greg Burri
13
To connect to a remote Core, the user have to explicitly enter an IP address and a password. The password is mandatory for a remote Core. For one Core it cannot be more than one GUI connected (this limitation may be removed in further version of Aybabtu).
14
15
The [[GUI]] shows some default windows, a download windows, an upload window and a chat window. The others windows are the search window, the browse window and the options window. All of them are described in the sections below.
16 5 Greg Burri
17 7 Greg Burri
h3. Downloading
18 1 Greg Burri
19 7 Greg Burri
You can download file or entire folder from the searching windows or from the browsing windows. The item will be enqueued to the download list and displayed in the download window.
20
21 15 Greg Burri
When downloading a folder, all theirs containing folders and files will be downloaded recursively. The path will be preserved and recreated in the machine of the downloading peer.
22 7 Greg Burri
23
When a file or a directory is being downloaded its name will finished by the tag ".unfinished". For example "my movie.mkv.unfinished".
24
25 8 Greg Burri
The list of queued items can contains both file or folder, when a folder is downloaded its files and folders are retrieved from the peer and will replace the folder in the list. It calls lazy download.
26 7 Greg Burri
27 8 Greg Burri
28 1 Greg Burri
h2. The main window
29
30 16 Greg Burri
At the first launch of Aybabtu it will connect to all peers in the LAN and show them in a panel to the left. The information showed for a peer are its name and its amount of sharing. To view the files of a peer you have to double-click in its name or to invoke the action "browse" from the contextual menu.
31 1 Greg Burri
32 7 Greg Burri
Above the peer list there is an input box for file searching. You can write something and hit 'return', a new search window will be created and displayed. Each known peer will be asked and the list is filled as a respond is received. You can change the pattern into the search window and relaunch the search. You can have as many search window as you want.
33 1 Greg Burri
34
35
h2. The download window
36 7 Greg Burri
37 16 Greg Burri
The download window shows the downloading files and also the queued files and the completed files.
38 1 Greg Burri
39 9 Greg Burri
Here is an ordered list of the different states of the files and folders that this window shows.
40 20 Greg Burri
# *Complete* : The complete files.
41
# *No source* : The incomplete files with no peers (auto-paused).
42
# *Not found* : The unfounded files or folders from the peer (a file or a directory has been removed).
43
# *Unknown peer* : File or folder from unknown peer.
44
# *Downloading* : Downloading files. Shows a progress bar.
45
# *Initializing files* : (just before downloading). Collect the hash parts from the peer and ask the other peers if they have some parts.
46
# *Queued* : Enqueued File or folder.
47 19 Greg Burri
48
The state of a download is printed in the column _status_.
49 1 Greg Burri
50 12 Greg Burri
For the third point this can occur when a file or folder has been moved or deleted in the remote peer between the queuing time and the downloading time.
51 1 Greg Burri
52 18 Greg Burri
The user can remove finished files from the list by invoking _clear complete file_ from the contextual menu.
53 12 Greg Burri
54
The user can change the order of the enqueued file by selecting some of them and drag it up or down. Only the queued items can be dragged.
55 1 Greg Burri
56
57
h2. The upload window
58 9 Greg Burri
59
The upload window shows the list of the currently uploading file.
60
61 5 Greg Burri
62
h2. The chat window
63
64 10 Greg Burri
This window offer a possibility to communicate with other peers via a single channel. It's possible to send messages and received message. Each message show the owner (peer name) and the sent time.
65
66 13 Greg Burri
It's possible to create link to a specific file or folder inside a message like that : "(<peer id>,<folder>,<file>)". It can be done automatically from the searching or browsing window. A link act like an html-link, the user can click on it. If it's a folder it will be browsed and if it's a file its containing folder will be browsed.
67 10 Greg Burri
68
69 5 Greg Burri
h2. The browse window
70
71
h2. The search window
72
73 1 Greg Burri
h2. The options window
74 14 Greg Burri
75
h2. The logging panel
76
77
The logging panel will show a list of information events like 'The file "debian.iso" is complete, <open its containing folder>.'. Like the chat window it must support url but also local url like "<a href="file://...">Open the folder</url>.
78
79
Each event is composed by a Time and a message like the chat window.
80
81
h3. In debug mode
82
83
In debug mode, the panel will show much more information.
84
85
* Each event has a level 
86
** Information
87
** Warning
88
** Error
89
** Fatal error
90
* Each event has a module. For example : 'Gui', 'Network', etc.
91
* The panel has theses buttons
92
** Find
93
** Save
94
** Clear
95
** Pause
96
* The panel has theses combobox
97
** Level
98
** Module