Projects/KNS2: Difference between revisions

From KDE TechBase
(multi-threading is needed)
(KNS::Engine::cleanup() issue)
Line 55: Line 55:
* NN: link classes directly to tests to prevent unnecessary KNEWSTUFF_EXPORTs
* NN: link classes directly to tests to prevent unnecessary KNEWSTUFF_EXPORTs
* NN: use multi-threading in the download dialogue to speed up the display
* NN: use multi-threading in the download dialogue to speed up the display
* NN: explore KNS::Engine::cleanup() and why it isn't present


=== DONE ===
=== DONE ===

Revision as of 13:16, 20 October 2007

KNewStuff 2

Who uses KNewStuff2

API Discussion

Classes will (mostly) be:

PolishingWeek-end

Bugs and regressions from 3.5

  • Unsorted is not needed as there's no other option
  • No feedback when something is downloaded, the user does not know when it is finished. => kmail-style progress bars
    • In CoreEngine::slotInstallationVerification(int result) signalInstallationFinished() and signalInstallationFailed() are emitted but not connected anywhere.
  • No feedback in the dialog that some items are already present (was done in 3.5 in the app by writing in config stuff entries then KNS picked that and displayed a green tick in the list)
    • In KDE 3.5 this code is in void DownloadDialog::install(Entry *e) in downloaddialog.cpp
  • The display of the list is slow, way slower than in KDE 3.5

To implement

  • Upload
  • Engine Interface
  • fix blocking / simple API

Programs using KNS for KDE 4.0

  • Edu progs: KAnagram, KHangMan, KLettres, KStars, Parley, KWordQuiz
  • Kate
  • System Settings: used it for background in KDE 3, there's no background module now because plasma came.
  • Kopete is looking to using it

Generic TODO

  • Rename KNS::Entry, and, consequentially, KNS::CompleteEntry

What still needs to be done (getting rid of the above section)

  • Merge DXS and GHNS download dialogs. Also check with usability guys.
  • Add networking capabilities to Plasmagik.
  • Finish the code for the metadata generation.
  • The Handler, to locally manage packages.
  • Write a cache removal strategy, that should be the last bit of the networking stuff.
  • The CompleteEntry class, used also by the Handler, used to retrive all the availeable informations from an already downloaded package (needs to be written in a more detailed fashion)
  • Anything else?

Other

KNewStuff2 will store all the files in a specific dir. The layout of this dir, and all the related information can be found here.

Results of the IRC meeting / Tasklist

TODO

  • Josef: add kmail-style progress bars for async download indication
  • NN: link classes directly to tests to prevent unnecessary KNEWSTUFF_EXPORTs
  • NN: use multi-threading in the download dialogue to speed up the display
  • NN: explore KNS::Engine::cleanup() and why it isn't present

DONE