< Projects
Difference between revisions of "Projects/KNS2"
(use abs paths) |
|||
(23 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
== KNewStuff 2 == | == KNewStuff 2 == | ||
− | |||
− | [[/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| | + | * [[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]]. |
− | == | + | == Results of the IRC meeting / Tasklist == |
− | === | + | |
− | + | === 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 | ||
− | === | + | === 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 22:23, 17 September 2008
KNewStuff 2
API Discussion
Classes will (mostly) be:
- A packager/uploader (Plasmagik)
- A Handler (Facility class created to manage files locally)
- A download GUI (Like the exixting one)
- A package manager (Like SK package manager)
- A class used to retrive *all* the information from a single entry (KNS::CompleteEntry)
- 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
- 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
- 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
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 (http://new.kstuff.org/~josef/kns-progress2.png) except for cancellation
- Jeremy: hardcode m_localregistrydir as configuring it through *.knsrc is not needed
This page was last edited on 17 September 2008, at 22:23. Content is available under Creative Commons License SA 4.0 unless otherwise noted.