Plasmate and GHNS

Dear planet,

After an 18 hours trip back from Tokamak4, only now I could find a chance to blog something about the pleasant time we had in Nuremberg and about the stuff I was working there. Tokamak4 attendance was a great opportunity to endorse what makes KDE a really amazing community: welcoming and enjoyable people, hard work, and fun :) That's the indefectible formula for successful free software. During Tokamak4 I was basically involved in two activities. The first one was the analysis of KDELibs dependencies and the proposal of a "profiled version" which can be built and used in different ways according to the target platform: desktop, tablet, or mobile. It was a fruitful chance to better understand the features and the rationale behind the scenes from the comments and proposals provided by Kevin, Dario, Frederik, and Friedrich.

As for Plasmate, I've dedicated two or three days for implementing some interesting features which somehow leverage the cooperative development of plasmoids: now you can keep some project notes, import an existing plasmoid project directly from Get Hot New Stuff, and publish your new/updated plasmoid to with just a few mouse clicks. Such features allow for the rapid development and publishing of widgets, encouraging the incremental improvement of existing projects and facilitating the availability of new community-supplied plasmoids. This required some investigation on KNewStuff3 and PlasmaPackage usage and it's amazing to verify how KDE platform significantly reduces the effort to provide cool features in you application.

Basically, now you can see an "Import from Get Hot New Stuff" button in Plasmate:

By clicking this button the usual Get Hot New Stuff dialog comes up and then you can pick up an existing project for edition in Plasmate:

After selecting an existing plasmoid (ok, we still need to provide a somehow customized GHNS download dialog where buttons exhibit "Import" instead of "Install" and there is no "Close" button since the dialog should be closed just after a plasmoid is selected) the project artefacts are presented in Plasmate and you can do your improvements and bug-fixing. Some hacking was needed to support those plasmoids which use "ServiceTypes" instead of "X-KDE-ServiceTypes" in their metadata.desktop file. Note the new "Project Notes" dock widget in the left.

In addition to the already present features for export to a package and install, now you can easily publish your plasmoid in with just a few mouse clicks. By selecting "Publish" in the workflow dock widget, the "Publish current project" button brings the KNewStuff's upload dialog:

In the upload dialog you must fill up some information about your widget such as its name, description, version, and a screenshot (ok, this can be automatically acquired from Previewer, to-do :) In order to publish the plasmoid KNewStuff3 asks you to enter your login and password for the repository. After that, the entire contents is uploaded in your OpenDesktop account and your plasmoid is already available to the whole world :)

So, that's all by now ... see you ...