YaST/Research/YaST Interface for Webpin/Implementation
From openSUSE
Contents |
YaST Interface for Webpin - Implementation
This YaST module offers a possibility to search for packages and/or repositories using several search criteria. Users can select a package and/or repository to be installed/added into their system.
This YaST module uses API from api.opensuse-community.org, detailed description of search possibilities is at Package_Search/Design.
Overview
YaST client webpin_package_search creates and handles UI and user input. Calls WebpinPackageSearch package search. User selects packages to install (plus repositories to use/add) and clicks [Next]. After that XML description for OneClickInstall is generated from all the information already known got from server and calls OneClickInstallUI client
(Launched YaST2 component 'y2base' 'OneClickInstallUI' '-S' '(/tmp/e0cbdbf03ce47dfd5c5f885b86706ddfa023d8dc)' 'qt').
Supported Search Criteria
| Search Type | Search URL |
|---|---|
|
|
Variables in Search
- <distribution> (openSUSE_110, openSUSE_103, openSUSE_102, ...)
- <searchterm>
YaST UI Proposal
Search for +-Search in -------------+
[xyz________________________] | [x] Name |
| [x] Description |
[ &Search ] | [ ] Contents |
+------------------------+
+-------------------------------------------------------+
| [ ] aaa_xyz - Package for aaa providing also xyz |
| [ ] xyz_aaa - Package for xyz providing also aaa |
| [ ] ... - ... |
| |
| |
+-------------------------------------------------------+
+-------------------------------------------------------+
| Description: Description of the selected package. |
| Repository: http://some-url |
| |
+-------------------------------------------------------+
WebpinPackageSearch API
WebpinPackageSearch::SearchForPackages (
"desktop",
nil, // or "openSUSE_110"
$[
"name" : true,
"description" : true,
"contents" : false,
]
)
returns
[
...
$[
"archs":[
"x86_64"
],
"checksum":"8e012c31db55d8ac56e690da02f9fa91382e81d8",
"distro":"openSUSE_110",
"name":"libgnome-desktop-2-2-32bit",
"priority":"5",
"repoURL":"http://download.opensuse.org/distribution/11.0/repo/oss/suse",
"summary":"The GNOME Desktop API Library",
"version":"2.22.1"
],
...
]

