User:Timlau/YumGuiBackBone

= Yum GUI Backbone = This page contains ideas about creating a common backbone for Yum Gui Application like pirut, pup, anaconda, yumex and other. [[TableOfContents(4)]

The Dream
To share a much code as possible for the different application, there provides a GUI to some kind of yum functionality. Different kind of GUIs target different types of users and provides different features, but behind the scene they to much of the same actions against the yum api. So different GUI maintain a lot of code to do the same things, so if some common action could be put in some kind of common python library build on top of the yum api, a lot of developer time could be save and i will be much easier for developers to create GUI tools to provide users with yum based functionality. The different GUI, will mostly have different glade files and gui event handlers there calls different action in the common yum gui library.

The Players
This section lists the application there could benefit from a common yum gui backbone.

Yum Extender (yumex)
A advanced package manager with a lot of Advanced Feature to install/remove/update packages and groups of packages.

Pirut
The default Fedora GUI for install/remove packages and groups of packages.

Pup
The default Fedora GUI for updating packages.

system-config-packages
The default Fedora GUI for installing local RPMs.

Anaconda
The Fedora Installer uses the same category/group selection as pirut.

system-config-kickstart
The Fedora GUI tool for creating kickstart files. Uses the same category/group selection as pirut.

Revisor
Fedora respin and live CD/USB creator GUI. Uses the same category/group selection as pirut.

Fedora Offline Package Manager
The Fedora Offline Package Manager is a tool for installing packages and dependencies on offline systems.

Library content
This section describes the thing there could be contained in the common yum gui library.
 * Generic Callback handlers. (RPM, Download, etc)
 * Generic Progressbar handlers.
 * Generic Glade interface to access the glade widget and the event callback in generic way.
 * Generic Package & Group View (Easy to customize).
 * Add an abstraction layer to yum, to do simple actions without knowing the full yum api.
 * Add you own ideas here.

The Code
The have create a git repository with sample code for a generic yumguicore python module.

http://repo.or.cz/w/yumguicore.git