Data items to be added to Link and Assembly classes
|Target version:||040 - FarfarAway|
The Download directory and Finished directory should be in the Assembly once that is in the database and UI.
Currently, the Finished directory is not settable except for unRar extraction. There is a separate proposal to make all of the applicable options customizable for each Package/Assembly. The options for Download Speed Limit and Maximum Connections should also be in the Package/Assembly.
1) A save as name (applied after successful download). The name might have to be changed before closing the file due to bugs in some Antivirus programs.
2) Parent pointer for the Assembly or Mirror list which contains the Link (denormalization for SQL, necessary for hierarchical database).
3) Temporary status, Status category, Detailed status, and last string returned by the host (shown in Link properties). Disabled can only be set manually and is independent of the status shown here.
3a) Temporary status is information displayed in the status column, but is not saved.
For example, "Idle", "Downloading", "Mirror downloading", "Waiting X seconds" "Extracting", "Checking". or "Moving" are the current operation, and so they are a temporary status. "Host wait time" is to be removed.
"Downloaded", "Check OK", "Extract OK", "Extract error", and "Finished" are status categories.
3b) Status categories are those that appear on remi's diagram. In addition, there should be "Found", "Deleted",
3c) Detailed status is the reason for the problem. For example, "Download incomplete: Connection closed by host", "Download incomplete" would be the Status category, while "Connection closed by host" would be the detailed status (other detailed status might have to do with quotas). "Removed from queue" is another detailed status.
4) Total bytes
5) Downloaded bytes
6) Chunk list if multiple connections are used. Empty otherwise
8) URL password (for encrypted URLs)
10) Check status.
11) Filename to store data into (may include numeric renaming)
12) Start date & time
13) Finished date & time
14) Queued date & time
15) Steps in processing flags (Needs Extraction, Needs rename, Downloading, Idle, Finished, Disabled by user)
,,,) Anything I missed because I am too tired.
Assembly and Package
1) List of contained items (Package contains Assemblies, Assemblies contain Mirror sets, and Mirror sets contain Links).
2) Download directory pattern
3) Finished directory pattern
4) Worst status of contents (each status category has an importance number). Except when all contents are Idle, a status is displayed.
5) Extraction Password list
6) Count of Contents
7) Total links contained (denormalization)
8) Total count of Contents in process (denormalization)
9) Total count of contents Finished (denormalization)
10) Total contained Links in Process (denormalization)
11) Total contained Links Finished (denormalization)
12) Parent Pointer (denormalization)
13) Earliest Queued time for contents (denormalization)
14) Earliest Download start time for contents (denormalization)
15) Finished time.
16) Steps in processing flags (Needs Extraction, Needs move, Downloading, Idle, Finished, Disabled by user)
Mirror List is a list of links
Mirrors are links that save to the same Download or Finished full path.
If two links refer to files that are more than 20% different in size, numeric Renaming is used.
1) List of Links
2) Steps in processing flags (Downloading, Idle, Finished, Partial Download) Downloading and Finished prevent starting any more links in the mirror. Partial Download means that a resumable file was partially downloaded and that link is to be continued (Permanent errors reset this to Idle).
3) Current Link.