-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello list, following the Filip request of explanation about my work on rpmdragora, I'm going to describe our (Angelo, Steven and me) work with the UIAbstraction4mcc feature[1]. I think a preamble is needed so be patient, please. If you have no interest, jump to =AdminPanel= :-)
=Preamble= This feature results from the merge of the DrakXtoolsReview feature (started by Angelo and me) to the Steven's one because of the common aims. DrakXtoolsReview was aiming to make mcc (and the drakx* tools more in general) indipendent from gtk: - - to avoid the installation of gtk stuff on qt-oriented installations and viceversa - - to avoid the installation of gtk stuff on text-oriented installations (i.e. without gui at all) - - to make drakx* tools like rpmdrake usable from a text user interface (tui, e.g. curses, console mode). Important note: we are trying to avoid a full rewrite of the code already available to reduce our efforts also considering that the current tools are still working fine. That's why we mainly used perl. After a few weeks of work to add qt support to drakx we (anaselli and me) have faced some big issues mainly related to the different ways gtk and qt do their job. Here it comes UIAbastraction4mcc and its added value: the YUI library. YUI is a library aiming to simplify the developers lifes allowing them to write code once and executing it as a qt, gtk or ncurses application. This lib was originally developed by SuSE for its tools (i.e. yast). So we decided to join our forces and start working on this new subject, currently known as AdminPanel. I started packaging libyui and its bindings (perl, python, ruby) immediately while Steven (aka tuxta) and Angelo began writing a lot of (very readable) perl code to build the foundations of AdminPanel. After some initial test we faced some nasty bug imputable to yui. That's why Angelo (anaselli) started contributing a lot of C++ code/patches to the upstream project (we can almost consider himself the upstream :-P ). Angelo does also a great job helping me maintaining the yui packages for Mageia. Once base classes were complete, Angelo wrote a simple test module using C++ and YUI, demonstrating that adminpanel was working correctly, while I wrote a perl module -namely Privileges- allowing AdminPanel to acquire administrator privileges (i.e. think at how the current Mageia Control Center behaves when it ask you for the root password). The current MCC solution works with pam only while the current implementation of Privileges allows adminpanel to gain root privileges using three "backends": - - sudo - - polkit - - pam It's not only a matter of porting but we also try to improve things when we are able to do it. I've to thanks Guillaume Rousse (guillomovitch) for his precious feedbacks on this side. =AdminPanel= Currently AdminPanel[3] can be considered like a launcher namely an application able to collect and execute other applications. There comes the hard part of the job: trying to "migrate" current tools to the new framework (yui). Angelo has already successfully ported logdrake (new name logviewer) and he found the way of improve it adding a basic support to journalctl (man journalctl). I'm currently working on rpmdragora, the rpmdrake port to yui, but it will require much more time compared to logdrake. It's not only a matter of changing gtk methods with the yui counterparts, we often need to rewrite entire routines used to build and/or to populate graphical items (labels, tables, views, etc). Yesterday we released some screenshot of rpmdragora, but a lot of work is still needed to make it fully functional. Important note: we used different application names to avoid confusion between the tools but trying to preserve -when possible- the roots. Another important note: as already said, libyui give us the ability to run an application using two different GUIs or a TUI but this ability has a cost: nice themes and shiny styles are not always portable; Angelo is working on the YUI source code to improve also this aspect. - From a i18n perspective (I'm also part of the i18n-it team after all) I want to highlight the ability to reuse for example the translations already available for rpmdrake with no extra efforts. We still need to deeply investigate this aspect but, as you can see from the Angelo's screenshots[4] of logviewer, it appears already localized (Italian in that case). I hope I've been thorough and not too boring :-P If you have answers feel free to ask :-) Regards [1] https://wiki.mageia.org/en/Feature:UiAbstraction4mcc [2] https://wiki.mageia.org/en/Feature:DrakXtoolsReview [3] http://svnweb.mageia.org/soft/AdminPanel/trunk/ [4] https://plus.google.com/u/0/109802167766760530845/posts/4dwkYHrd5tX /matteo -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJQ7D+GAAoJED3LowjDDWbNbMcIAKAc/+UKHEJDj4FauEGnEqNN n69qFxYizSTa4w8Y2Ypx7+Zt7WKbb5lwrzXPnOnbsTpGGnoo9dPO75dYy/OwtGdn TfFpTszjjle3MLdVsXorvW5vaI5GrpxbkdM32IciAl2CsQMxGkHN/ukCSuThRwRw Pdu0p0/3ebY0/NT2brPUaGFuEs5whijvAN10+57CC5OW4aLaDL8P4ix77Edf/PTp QzU82Qj4b0SEViP7hAHVr7NeQjhml95qGFcNWZcl+1KF2qq88802aYWpPYyZf7Rb 5cnz6V57k4pXvIN9DrMn/yWYySuwaH4YjB674fD8TU6ug3AYcnNlFhiOp9EM0OM= =7YCn -----END PGP SIGNATURE-----
