Difference between revisions of "Projects/KNS2"

Jump to: navigation, search
(move from KNewStuff2_Development_Page)
(use abs paths)
 
(24 intermediate revisions by 9 users not shown)
Line 1: Line 1:
 
== KNewStuff 2 ==
 
== KNewStuff 2 ==
{{warning|Things you see here are '''incomplete''' and '''totally a work in progress'''}}
 
  
[[/Users|Who uses KNewStuff2]]
+
[[Projects/KNS2/Users|Who uses KNewStuff2]]
  
 
== API Discussion ==
 
== API Discussion ==
 
Classes will (mostly) be:
 
Classes will (mostly) be:
* [[/Packager|A packager/uploader]] (Plasmagik)
+
* [[Projects/KNS2/Packager|A packager/uploader]] (Plasmagik)
* [[/Handler|An Handler]] (Facility class created to manage files locally)
+
* [[Projects/KNS2/Handler|A Handler]] (Facility class created to manage files locally)
* [[/Downloader|A download GUI]] (Like the exixting one)
+
* [[Projects/KNS2/Downloader|A download GUI]] (Like the exixting one)
* [[/Manager|A package manager]] (Like SK package manager)
+
* [[Projects/KNS2/Manager|A package manager]] (Like SK package manager)
* [[/CompleteEntry|A class used to retrive *all* the information from a single entry]] (KNS::CompleteEntry)
+
* [[Projects/KNS2/CompleteEntry|A class used to retrive *all* the information from a single entry]] (KNS::CompleteEntry)
* [[/Model|A model class to allow knewstuff integration into apps]] (It will contain all the informations availeable with the download dialog)
+
* [[Projects/KNS2/Model|A model class to allow knewstuff integration into apps]] (It will contain all the informations availeable with the download dialog)
 +
 
 +
== 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. Plasma's wallpaper configuration dialog integrates KNS2.
 +
* Kopete is looking into a tight integration for KDE 4.1, KNS is disabled for 4.0 however.
  
 
== Generic TODO ==
 
== Generic TODO ==
Line 27: Line 46:
 
== Other ==
 
== Other ==
  
KNewStuff2 will store all the files in a specific dir. The layout of this dir, and all the related information can be found [[/Layout|here]].
+
KNewStuff2 will store all the files in a specific dir. The layout of this dir, and all the related information can be found [[Projects/KNS2/Layout|here]].
  
==Development==
+
== Results of the IRC meeting / Tasklist ==
===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. => KMessageBox?
+
* 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)
+
* The display of the list is slow, way slower than in KDE 3.5
+
  
===To implement===
+
=== TODO ===
* Upload
+
  
===Programs using KNS for KDE 4.0===
+
* NN: link classes directly to tests to prevent unnecessary KNEWSTUFF_EXPORTs
* Edu progs: KAnagram, KHangMan, KLettres, KStars
+
* NN: use multi-threading in the download dialogue to speed up the display
* Kate
+
* NN: explore KNS::Engine::cleanup() and why it isn't present
* System Settings: used it for background in KDE 3, there's no background module now because plasma came.
+
* Josef: indicate entry's status (e.g. installed) in the entry list
 +
 
 +
=== DONE ===
 +
 
 +
* Josef: [http://websvn.kde.org/branches/work/knewstuff2/knewstuff-polishing branches/work/knewstuff2/knewstuff-polishing]
 +
* Josef: re-enable test apps using cmake TEST parameter
 +
* Josef: move KDXSView class from the library to the tests
 +
* Dennis: Improve argument parsing for InstallCommand directive in .knsrc files (don't break whitespaces) and quote filename arguments (%f)
 +
* Josef: add kmail-style progress bars for async download indication
 +
** mostly finished (http://new.kstuff.org/~josef/kns-progress2.png) except for cancellation
 +
* Jeremy: hardcode m_localregistrydir as configuring it through *.knsrc is not needed
  
 
[[Category:KDE4]]
 
[[Category:KDE4]]

Latest revision as of 23:23, 17 September 2008

Contents

[edit] KNewStuff 2

Who uses KNewStuff2

[edit] API Discussion

Classes will (mostly) be:

[edit] PolishingWeek-end

[edit] 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

[edit] To implement

  • Upload
  • Engine Interface
  • fix blocking / simple API

[edit] 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. Plasma's wallpaper configuration dialog integrates KNS2.
  • Kopete is looking into a tight integration for KDE 4.1, KNS is disabled for 4.0 however.

[edit] Generic TODO

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

[edit] 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?

[edit] 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.

[edit] Results of the IRC meeting / Tasklist

[edit] TODO

  • 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
  • Josef: indicate entry's status (e.g. installed) in the entry list

[edit] DONE

  • Josef: branches/work/knewstuff2/knewstuff-polishing
  • Josef: re-enable test apps using cmake TEST parameter
  • Josef: move KDXSView class from the library to the tests
  • Dennis: Improve argument parsing for InstallCommand directive in .knsrc files (don't break whitespaces) and quote filename arguments (%f)
  • Josef: add kmail-style progress bars for async download indication
    • mostly finished (kns-progress2.png) except for cancellation
  • Jeremy: hardcode m_localregistrydir as configuring it through *.knsrc is not needed

This page was last modified on 17 September 2008, at 23:23. This page has been accessed 17,152 times. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal