TODO 0.6
From NNTPGrab
This page contains a low-level overview of tasks which need to be done before NNTPGrab 0.6 can be released
Last updated: February 14 2010
[edit] For NNTPGrab 0.5.91 (0.6 Beta 2)
Infrastructure:
-
Package libproxy for MinGW to get proxy support on Win32 environmentsdone!-
Create .spec filedone! -
Get rid of the pthread dependency (in proxy.c)done! -
Get rid of the external plugins (bundle everything in the DLL) [1]done!
-
-
Package libproxy for Darwinx to get proxy support on Mac OS X environmentsdone!
NNTPGrab Core:
- The bandwidth limiting currently has a rounding error somewhere (100KB/sec will be limited to 96KB/sec)
- Add support to specify which optional dependencies (e.g. libnotify, networkmanager) will be used when running ./configure
-
NNTPGrab doesn't start, port is in usedone!
Unpack plugin:
-
Automatically remove files after unpackdone! -
Only try to unpack files when a collection has been completely verified using PAR2 (this goes wrong when a collection contains multiple PAR2 sets)done!
JSON-RPC plugin:
-
Implement JSON-RPC over TCPdone! -
Implement the JSON-RPC method schedular_get_all_tasksdone! -
Implement the JSON-RPC method nntpgrab_schedular_add_file_to_queuedone! - Implement the JSON-RPC method nntpgrab_utils_strip_subject
- Implement the JSON-RPC method nntpgrab_utils_calculate_file_size
- Implement the JSON-RPC method nntpgrab_utils_calculate_estimated_time_remaining
- Implement the JSON-RPC method nntpgrab_utils_get_readable_time_remaining
- Implement the JSON-RPC method nntpgrab_utils_get_readable_finished_time
-
Implement the JSON-RPC method nntpgrab_utils_get_folder_listingdone! -
Listen on both an IPv4 as an IPv6 socketdone! -
Add user authenticationdone! - Add the build date and build number to the results of the nntpgrab_get_version_info function
-
Add the signals jsonrpc_client_connected and jsonrpc_client_disconnecteddone!
Automation plugin:
-
Move the auto import code (automation library) to a seperate plugindone!
Glue layer:
-
Use JSON-RPC over TCP instead of the custom TCP protocoldone! -
Implement the JSON-RPC method nntpgrab_config_get_avail_serversdone! -
Implement the JSON-RPC method nntpgrab_config_get_server_infodone! -
Implement the JSON-RPC method nntpgrab_config_add_serverdone! -
Implement the JSON-RPC method nntpgrab_config_del_serverdone! -
Implement the JSON-RPC method nntpgrab_config_edit_serverdone! -
Implement the JSON-RPC method nntpgrab_config_get_optsdone! -
Implement the JSON-RPC method nntpgrab_config_set_optsdone! -
Implement the JSON-RPC method nntpgrab_config_get_folder_listingdone! -
Implement the JSON-RPC method nntpgrab_schedular_startdone! -
Implement the JSON-RPC method nntpgrab_schedular_stopdone! -
Implement the JSON-RPC method nntpgrab_schedular_get_statedone! -
Implement the JSON-RPC method nntpgrab_schedular_add_file_to_queuedone! -
Implement the JSON-RPC method nntpgrab_schedular_del_file_from_queuedone! -
Implement the JSON-RPC method nntpgrab_schedular_restart_filedone! -
Implement the JSON-RPC method nntpgrab_schedular_save_queuedone! -
Implement the JSON-RPC method nntpgrab_schedular_get_all_tasksdone! -
Implement the JSON-RPC method nntpgrab_schedular_move_filedone! -
Implement the JSON-RPC method nntpgrab_schedular_move_collectiondone!
NNTPGrab Server:
-
Use the JSON-RPC plugin for all communication (using JSON-RPC over TCP)done! -
Always enable the embedded webserver, even if it's disabled by defaultdone!
NNTPGrab Server (console):
-
Start in the foreground by defaultdone! -
Add an --help command line optiondone! - Properly handle initialisation errors when starting in the background
GTK frontend:
- Add support for PolicyKit 1.0 (required for Automatic Shutdown)
Qt frontend:
-
Create a Qt frontend for the NNTPGrab Serverdone!
[edit] For NNTPGrab 0.6.0
Fonera tasks: (help wanted!)
- Publish a new snapshot (requires the glue layer tasks mentioned earlier to be fully implemented first)
- Create snapshots for Fonera 2.0n environments
- Save the configuration files and the download queue to automount'ed (removable) media
- Use UCI for all configuration
- Add checks to only allow downloading to automount'ed (removable) media
- Create a .FMG package for easy installation on Fonera environments
- Automatically generate .FMG snapshot packages after each commit
[edit] For NNTPGrab 0.7.0
NNTPGrab Core:
- Add dependency checks when manually loading plugins
- Add dependency checks when unloading plugins
- Automatically un-register plugin functions and events on unload
- Make the configuration more dynamic (plugin specific settings)
- Allow frontends to call plugin methods
JSON-RPC plugin:
- Add user authentication for JSON-RPC over TCP
- Make user authentication configurable from frontends
GTK frontend:
- Add support to change the password to connect to an NNTPGrab Server
- Ask for an password when connecting to an NNTPGrab Server
