1) Left-Right cursor keys to scroll the list very slow when list is large.
2) Shift TAB doesn't go backwards through the frames.
3) GUI (Qt) change in repository priority, made by calling repository
management from Software Management, did not change priority before Software
Management restart.
http://lists.opensuse.org/opensuse/2009-04/msg01697.html
--
Regards, Rajko
http://news.opensuse.org/category/people-of-opensuse/
--
To unsubscribe, e-mail: yast-devel+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-devel+help(a)opensuse.org
Hi all,
I noticed that many files in yast have $Id$ tag in the header but it is not expanded
to full string by SVN so the tags are useless. The problem is caused by empty
svn:keywords property.
I have fixed properties of all files in SVN Trunk which contained unexpanded
$Id$ or $Id:$ string.
If the expansion should not be used in a SVN file then remove the property or the tag.
(Btw I used
find . -name '*.ycp' -exec grep -l '\$Id:*\$' \{\} \; | xargs svn propset
svn:keywords "Author Date Id Revision"
command to fix YCP files. I changed the suffix to fix also the other types.)
--
Best Regards
Ladislav Slezák
Yast Developer
------------------------------------------------------------------------
SUSE LINUX, s.r.o. e-mail: lslezak(a)suse.cz
Lihovarská 1060/12 tel: +420 284 028 960
190 00 Prague 9 fax: +420 284 028 951
Czech Republic http://www.suse.cz/
--
To unsubscribe, e-mail: yast-devel+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-devel+help(a)opensuse.org
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
JFYI In case you did not see it ;-)
http://weblog.obso1337.org/2009/a-few-ui-notes-on-kpackagekit-updater/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org
iEYEARECAAYFAkn3ZC4ACgkQzR62qWZ+QtF38wCeKresqQkSani0GArNyT+QGPJZ
txoAnRE3xVWCE90XDTXwbzS+wshh4jCh
=N4uZ
-----END PGP SIGNATURE-----
--
To unsubscribe, e-mail: yast-devel+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-devel+help(a)opensuse.org
Present: jkupec, jreidinger, jsrain, jsuchome, juhliarik, kmachalkova,
locilka, lslezak, mvidner, mzugec
Next minutes: jreidinger
YaST as Web Service
-------------------
* lslezak documented the d-bus service interface at
http://en.opensuse.org/YaST/DBus_Service/Description
Bootloader
----------
* new version of perl-bootloader submitted to factory (jreidinger)
* YaST Bootloader module gets adopted (juhliarik)
Problems
--------
* Installation blocker (bnc#493152)
mvidner & coolo investigates the cause of YaST hanging when executing
an external program. Seems it has something to do with
what we call in the signal handlers (e.g. to get the crash backtrace)
and the way how yast calls external programs. Multithreaded programs
should not use signal-unsafe functions between fork and exec. and in
signal handlers. So we had to remove the crash backtrace logging.
(update: backtrace is back in yast-core-2.18.9)
YaST i18n
---------
* kmachalkova wrote a wiki about i18n in YaST [2] (best practices,
hints for developers).
Call for testing
----------------
fate#305306 - yast2-iscsi-client has rewritten dialog workflow to edit
connection properties
bnc#495429 - fixed listen.conf parser for yast2-http-server
Misc
----
* Repair:
jreidinger is fixing the module
* Partitoner:
button equivalents to the context menu items added to the UI
(kmachalkova)
* Product Creator:
jsuchome is testing fixes for 11.1 bugs, will be probably
released as updates
* kmachalkova & mzugec gave presentation about automated (AutoYaST)
and network installation of openSUSE at Prague's LinuxExpo event
[1] lslezak and jsrain helped at openSUSE booth.
* Minimized Jukebox-DJ effects when using more physical media-based
Add-On products during installation at once. (locilka)
[1] http://hedgehogpainter.livejournal.com/6380.html
[2] http://en.opensuse.org/YaST/Development/i18n_FAQ
--
To unsubscribe, e-mail: yast-devel+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-devel+help(a)opensuse.org
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Some stuff I noticed in the code that I collected as tips :-)
- - obj == nil
-> obj.nil?
- - str.length > 0
-> str.empty?
- - if str && str.length > 0
This is tricky, not only because str.length should be tested with
empty, but this test is so common in web forms, that rails adds the
method Object#blank? so one can test nil? and empty? in one shot.
-> str.blank?
- - comments next to 'end', if we need to comment next to an end to give a
hint to which block it belongs, it means we have to refactor that code
and split it/un-nest it. If you are commenting an end block, you need
then to feel guilty. Your face has to go red and you make a concrete
appointment to fix that code ;-)
- - Something like:
if not @user.home_directory.blank?
command << "home=#{(a)user.home_directory}"
end
(already refactored to use blank?)
can be refactored to:
command << "home=#{(a)user.home_directory}" if not
@user.home_directory.blank?
This is not very important, but if you have 20 of those blocks in a
row, the continuous starts and end of one line blocks make code too
verbose and eyes have to indent and unindent all the time, while a one
liner reads as english.
- - Use and learn stdlib methods:
if not @user.groups.blank?
counter = 0
grp_string = ""
@user.groups.each do |group|
if counter == 0
grp_string = group[:id]
else
grp_string += ",#{group[:id]}"
end
counter += 1
end
command << "grouplist=#{grp_string}"
end
What are we doing here? just converting an array into a string, but
with commas. So first we are duplicating Array#join.
I guess the code does that because it has a collection of Group
objects, and it want to create an array of ids of those groups.
You can get [1,2,3..] as the array of the group ids by using Array#map:
groups.map { |group| group[:id] }. Add Array#join to the equation:
groups.map { |group| group[:id] }.join(',')
and you have all the code above in one line! :-) it returns "1,2,3" as
a String.
I fixed most of the issues mentioned, but sure there are more. Fix them
as you spot them.
cheers
Duncan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org
iEYEARECAAYFAkn0uTQACgkQzR62qWZ+QtEkLgCfVSPfrWXY88ZBG3Wrxj5b/Hnr
pKEAoJTQPD9/+3DF27rQa1KVNoOxp6ke
=erdq
-----END PGP SIGNATURE-----
--
To unsubscribe, e-mail: yast-devel+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-devel+help(a)opensuse.org
Hi all,
I'd like to announce the Yast DBus service which is now available in SVN Trunk and in
FACTORY. You just need to install yast2-core-2.18.7 package [*].
The new service can export every Yast name space, even non YCP modules like Users
(Perl) or Pkg:: (C++).
This service should be used as the base component for our new Yast Web interface.
For more information look at http://en.opensuse.org/YaST/DBus_Service/Description
I'm looking forward to your feed back.
[*] Actually the service was initially submitted in yast2-core-2.18.6, but I did a
very small API change in 2.18.7.
--
Best Regards
Ladislav Slezák
Yast Developer
------------------------------------------------------------------------
SUSE LINUX, s.r.o. e-mail: lslezak(a)suse.cz
Lihovarská 1060/12 tel: +420 284 028 960
190 00 Prague 9 fax: +420 284 028 951
Czech Republic http://www.suse.cz/
--
To unsubscribe, e-mail: yast-devel+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-devel+help(a)opensuse.org
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
* What to Discuss (we should meet and find solutions)
- - Namespaces, domains
This topic is still blur. We want to namespace resources, however it
looks like REST convention only namespace resources if they are nested.
So I have a small feeling that by following to much RESTful practices
we are ignoring others. If we will have /system in the url, that has to
be a resource too.
In other parts we need to also figure good apis. Right now stuff like
patch install is broken, because the resources are automatically routed
(map.resource), so stuff like "install" does not work. We have to think
how are we going to handle those, at least sit down and define the few
domains we will do for the start. Either we make it possible for plugged
resources to handle custom actions (patches.put(:install)), making
exceptions here and there, or we define more complicated ones. In this
case I do think creating a packageinstallation resource is too-much.
http://www.slideshare.net/calamitas/restful-best-practices
(slide 28,29...) gives a good example. Rails allows to create custom
methods, like /project/1/validate with PUT, which would "validate" a
project. However those slides tell that one does not validate a project,
but create a project-validation resource. We don't subscribe to a group
but create a group subscription (therefore nested resources), one does
not deactivate an account but delete an account activation. (Slide 44 is
funny).
For example, the current automatic resource registration does not allow
nested resources.
The current navigation of resources is cool, but on the client makes
things complicated for nested resources. You need to know the urls,
- - Permissions
permissions is a nested resource of users, which is now a separate
resource plugin, therefore I changed the users plugin to manually map
permissions as nested.
However the current permissions is highly dependent on resource names,
and the whole discussion about namespaces, domains, etc makes this very
inconsistent. We need to design this so we can enable it.
- - packaging
While the original Makefiles are there, they are mostly duplicates.
For the users plugin, in addition to the Makefile, I have a Rakefile,
which for example has a package task
desc 'Generate tarball package'
Rake::PackageTask.new('www', :noversion) do |p|
p.need_tar_bz2 = true
p.package_dir = 'package'
p.package_files.include('**/*')
p.package_files.exclude('package')
end
As this code will be duplicated in every plugin rakefile, we could
create a kind of devtools with these tasks, because they are shared
between plugins, web service and then a Rakefile would need only to
require 'yast/tasks' or something.
Also, question here, why the current spec file marks directories as
%config? Ie: %config
/srv/www/%{pkg_user}/vendor/plugins/%{plugin_name}/app ?
- - Be more strict with conventions and naming. For example
/etc/yast_user_roles is not very descriptive, specially when we already
have a /etc/YaST (which we should use?: discussion).
cheers
Duncan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org
iEYEARECAAYFAkn0uKMACgkQzR62qWZ+QtF+wQCfQ0CEMgBEJhraanNiA1Hp/PTA
JQsAoL142mAcy7PpAg3NXew8qPJJjfHj
=2ynS
-----END PGP SIGNATURE-----
--
To unsubscribe, e-mail: yast-devel+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-devel+help(a)opensuse.org
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi!
As we have to demo on Tuesday, and on Thursday it was pretty broken :-),
I went over all the code to make it work again. I did some pretty
important changes which I detail below, and I enumerate below some
topics we need to discuss this week in a separate mail. Also at the end
I enumerate some code related issues I found, in a separate mail.
- - First, moved all *-plugin to plugins/*
plugins don't have src/ directory anymore, they start at the top-level
(app, controller...)
and the spec and dist files are in the package/ directory.
Reasoning:
1.- all rails plugins are hosted that way. If some day we split a
plugin, the plugin has to start in the directory where lib, app, etc
are. That allows people to use script/plugin. It is a convention,
changing it breaks any existing rails tools.
2.- originally, goal was to avoid symlinking and finding plugins
automatically in the source code. We have to make running from the
source tree easy if we want lazy people to help.
3.- Originally, I wrote my own Rails::Plugin::Locator which was able
to find plugins with /src directory in the source tree. It worked pretty
well, but Rails::Plugin defines Rails::Plugin#name as
File.basename(@directory), which means, all plugins got the name :src.
So Rails assume the directory is the name of the plugin.
AI: update wiki page, installation, unless someone has good arguments
for keeping src/ ;-)
- - Changed how service routes are loaded. We don't go over
vendor/plugins/* anymore, but over loaded plugins directory(). That
allows for what is below.
- - We automatically find plugins in the source tree RAILS_ROOT/../plugins
by adding it to the plugin search path, so no need to symlink. Later we
could also find plugins one level more up, so plugins checked out from a
separate git repo are also found, and make development a breeze.
- - Therefore ResourceRegistration has now register_plugin() method, and
that one is used. We don't iterate vendor/plugins anymore but just go
over found plugins and look there.
- - I disabled the use of namespace and domain for now. Just because the
client stopped working, and the discussion with Klaus about it was still
in the middle. Note, everything is there, just the route_all method does
not take them into account.
- - what is still broken:
* permissions, see discussion mail.
Cheers
Duncan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org
iEYEARECAAYFAkn0uH0ACgkQzR62qWZ+QtH9mwCgmHFWNFXQIDgd1v8AJ/CxZrth
SccAoJ94NnReoYGvLqjn2uHdyszw3Xyl
=ZOWL
-----END PGP SIGNATURE-----
--
To unsubscribe, e-mail: yast-devel+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-devel+help(a)opensuse.org
Hi Andre,
We are using rpam extensively for our YaST web service project.
Klaus Kaempf (in CC) did some improvements in order to make it work for
our project, plus some added tests and build facilities.
Originally, we were keeping a fork in-tree, however we would like to
keep as close with your upstream version, therefore I attach the patch
we use to build our package.
If you apply it (or part of it) please tell us so we can adapt our
package :-)
Thanks for this useful piece of software!
--
Duncan Mac-Vicar P. - Engineering Manager, YaST
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg)
I have packaged roodi in home:dmacvicar:ruby (which I will submit to
devel:languages:ruby:extensions ) as soon as it finished building.
Then we should integrate it with an easy rake task, but you can use it
manually also...
Right now, running it on the controllers already shows stuff to improve
:-) it even blamed my method "show_FIXME"
dmacvicar@piscola:/space/git/web-client/webclient> roodi app/controllers/*
app/controllers/application_controller.rb:50 - Method name
"set_permissions" cyclomatic complexity is 9. It should be 8 or less.
app/controllers/permissions_controller.rb:7 - Method name "show_subtree"
cyclomatic complexity is 11. It should be 8 or less.
app/controllers/permissions_controller.rb:54 - Method name
"build_java_variable" cyclomatic complexity is 10. It should be 8 or less.
app/controllers/permissions_controller.rb:109 - Method name
"set_permission" cyclomatic complexity is 11. It should be 8 or less.
app/controllers/sessions_controller.rb:109 - Method name "create"
cyclomatic complexity is 11. It should be 8 or less.
app/controllers/permissions_controller.rb:54 - Method name
"build_java_variable" has 6 parameters. It should have 5 or less.
app/controllers/permissions_controller.rb:10 - Block cyclomatic
complexity is 10. It should be 4 or less.
app/controllers/permissions_controller.rb:55 - Block cyclomatic
complexity is 10. It should be 4 or less.
app/controllers/sessions_controller.rb:19 - Block cyclomatic complexity
is 7. It should be 4 or less.
app/controllers/sessions_controller.rb:58 - Method name "show_FIXME"
should match pattern /^[_a-z<>=\[|+-\/\*`]+[_a-z0-9_<>=~@\[\]]*[=!\?]?$/
app/controllers/sessions_controller.rb:185 - Method name "updateMenu"
should match pattern /^[_a-z<>=\[|+-\/\*`]+[_a-z0-9_<>=~@\[\]]*[=!\?]?$/
app/controllers/sessions_controller.rb:189 - Method name "updateLogout"
should match pattern /^[_a-z<>=\[|+-\/\*`]+[_a-z0-9_<>=~@\[\]]*[=!\?]?$/
app/controllers/application_controller.rb:50 - Method "set_permissions"
has 26 lines. It should have 20 or less.
app/controllers/permissions_controller.rb:7 - Method "show_subtree" has
25 lines. It should have 20 or less.
app/controllers/permissions_controller.rb:109 - Method "set_permission"
has 40 lines. It should have 20 or less.
app/controllers/sessions_controller.rb:58 - Method "show_FIXME" has 22
lines. It should have 20 or less.
app/controllers/sessions_controller.rb:109 - Method "create" has 43
lines. It should have 20 or less.
app/controllers/permissions_controller.rb:112 - Don't use 'for' loops.
Use Enumerable.each instead.
--
Duncan Mac-Vicar P. - Engineering Manager, YaST
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg)
--
To unsubscribe, e-mail: yast-devel+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-devel+help(a)opensuse.org