Upcoming news in Plasma 5.5

It’s been a while since Plasma 5.4 release and we are now approaching feature freeze for Plasma 5.5 so I would like to share with you what news you can expect in plasma-nm. This time we have major changes only in our connection editor although most of you wouldn’t probably even notice them. This is going to be a short list unfortunately given I have less time and less ideas, but at least something, right?

So, what is new?

WPA/WPA2 Enterprise validation
WPA/WPA2 Enterprise validation was the only one missing validation in our connection editor and without it we let you to save your WPA/WPA2 Enteprise configuration even when it was wrong or some option was missing. Now you should be able to save your configuration only when it’s valid for NetworkManager. In addition to check for missing properties, we check (in case of TLS authentication) whether provided private key can be decrypted with given private key password (works only for pkcs12 and PEM formats).

New password field widget
Option to show/hide the password and option to not store the password were removed as standalone widgets and they are now part of the password field. I did this to make the UI less complicated and also because I like it, however this introduced some accessibility issues which need to be addressed somehow once I have time to do that (mentioned this here as a commitment that I’ll really do something about that).
plasma-nm-password-widget

Other changes

  • OpenVPN improvements (better properties descriptions, new options)
  • added tooltips to most common options
  • some bugfixes and other minor improvements which are not worth mentioning
Advertisements

2+ years with network management in KDE

It has been more than 2 years when I was an intern in Red Hat and Lukáš Tinkl, my leader that time, told me that I should take a look what needs to be done around network management in KDE. I started with contribution to libnm-qt (networkmanager-qt now), because there was a plan to have a separated library for NetworkManager and port the applet to use it later. It took me a few months to get familiar with NetworkManager DBus API and implement all missing stuff and I was ready to start porting the applet. Problem was that the old NM applet was not ready at all, its architecture had been done with more network daemons in mind (like wicd) and the code base became really complicated. I still remember that discussion we had about starting from scratch, it was quite tough decision, because we had to drop such huge code base and years of work. Anyway, we decided to go for it and start from scratch and one of the best journeys of my life had begun. It went quite good, we were able to reuse some existing parts from the old applet and we had first release like half year later. Well, quality of first releases is questionable, not everyone liked them we did, but we have learned from mistakes and now I daresay that the version we have after 2 years currently in Plasma 5 is really great and we enjoyed doing it.

But the real reason why I decided to write this blog post is that I wanted to look to some statistics using gitstats after those 2 years of development and share them with you.

Stats about networkmanager-qt

Total files: 363
Total lines: 41876
More stats here.

Table of top contributors since the beginning.
nm-qt-authors

Stats about libmm-qt

Total files: 120
Total lines: 14695
More stats here.

Table of top contributors since the beginning.
mm-qt-authors

Stats about plasma-nm

Total files: 288
Total lines: 40507
More stats here.

Table of top contributors since the beginning.
plasma-nm-authors

NOTE that those statistics do not include contributions to the old NM applet, which some parts are used in both libraries and even in the new NM applet.

Upcoming changes in the next plasma-nm release

It’s been 3 months since the last plasma-nm (Plasma networkmanagement) release and we have been working really hard to bring you again a better release than the previous one. Unlike previous releases, this one is focused on internal changes which are not mostly noticeable on the outside, but I believe they are welcomed.

The most significant internal change is a new model. This one is more complex and easier to maintain and one of it’s advantages is that we can now use it also in the connection editor, so if there is a problem we can just fix it in one place. It should better handle various cases which were not properly handled in previous versions, like when you have more wireless cards. Also various NetworkManager changes are now properly propagated to the applet, i.e. we are not now limited to three connection states (disconnected, connecting, connected) as before, but when you activate your connection you will see the exact device state like “getting IP address” or “waiting for authorization” and so on. Regarding the connection editor, you can now activate/deactivate connections there which is probably something what nobody will use, but since this is possible because of the new model, then why not to add this option.

From visible changes I could mention new notifications. I added various notifications to inform you about successful or failed actions. This is quite useful when you do some action and nothing happens, usually when you are not authorized to do it. You can see new available notifications on the screenshot below.
notifications
Note: This screenshot is from Plasma 5 version and unfortunately not all notifications are also available in KDE 4 version, because I had to change API in libnm-qt (NetworkManagerQt) and this was possible only in the Qt5 version which is not released yet.

We were also working a lot on porting plasma-nm to KDE Frameworks 5 and I’m happy that plasma-nm is now part of Plasma 5 which means it will be released together and regularly also with bugfix releases, so you won’t have to always wait until we decide to bring you a new version. This change came quite late and there were no tarballs previously available until now, so I would really appreciate if you can test it together with the rest of Plasma 5. Regarding the KDE 4 version, we will probably release it together with Plasma 5 release, but if you want to try it now, you can just compile it from git and use branch called 0.9.3.

Here are some screenshots from Plasma 5 version. As you can see Plasma 5 version has a scrollbar \o/. Unlike KDE 4 version there is no traffic monitor, because it hasn’t been ported yet, but we will add it in future and details will probably get a new look.
Details Password dialog

I hope you will like all the changes above and please do not forget to report all issues you spotted to our bugzilla.