TODO 0.6

From NNTPGrab

Jump to: navigation, search

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 environments done!
    • Create .spec file done!
    • 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 environments done!

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 use done!

Unpack plugin:

  • Automatically remove files after unpack done!
  • 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 TCP done!
  • Implement the JSON-RPC method schedular_get_all_tasks done!
  • Implement the JSON-RPC method nntpgrab_schedular_add_file_to_queue done!
  • 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_listing done!
  • Listen on both an IPv4 as an IPv6 socket done!
  • Add user authentication done!
  • 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_disconnected done!

Automation plugin:

  • Move the auto import code (automation library) to a seperate plugin done!

Glue layer:

  • Use JSON-RPC over TCP instead of the custom TCP protocol done!
  • Implement the JSON-RPC method nntpgrab_config_get_avail_servers done!
  • Implement the JSON-RPC method nntpgrab_config_get_server_info done!
  • Implement the JSON-RPC method nntpgrab_config_add_server done!
  • Implement the JSON-RPC method nntpgrab_config_del_server done!
  • Implement the JSON-RPC method nntpgrab_config_edit_server done!
  • Implement the JSON-RPC method nntpgrab_config_get_opts done!
  • Implement the JSON-RPC method nntpgrab_config_set_opts done!
  • Implement the JSON-RPC method nntpgrab_config_get_folder_listing done!
  • Implement the JSON-RPC method nntpgrab_schedular_start done!
  • Implement the JSON-RPC method nntpgrab_schedular_stop done!
  • Implement the JSON-RPC method nntpgrab_schedular_get_state done!
  • Implement the JSON-RPC method nntpgrab_schedular_add_file_to_queue done!
  • Implement the JSON-RPC method nntpgrab_schedular_del_file_from_queue done!
  • Implement the JSON-RPC method nntpgrab_schedular_restart_file done!
  • Implement the JSON-RPC method nntpgrab_schedular_save_queue done!
  • Implement the JSON-RPC method nntpgrab_schedular_get_all_tasks done!
  • Implement the JSON-RPC method nntpgrab_schedular_move_file done!
  • Implement the JSON-RPC method nntpgrab_schedular_move_collection done!

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 default done!

NNTPGrab Server (console):

  • Start in the foreground by default done!
  • Add an --help command line option done!
  • 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 Server done!

[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
Views
  • Page
  • Discussion
  • Edit
  • History
Personal tools
  • Log in / create account
Toolbox
  • What links here
  • Related changes
  • Special pages
  • Printable version