OpenSUSE Ambassador Roger Luedecke has just started a petition towards the Hewlett-Packackard Company (HP) to release the WebOS source code under the GPL license. Luedecke says, “I care deeply about this very important issue”. WebOS is a mobile operating system based on Linux and was originally developed by handheld computer producer Palm, who are now a subsidy of HP. According to Luedecke, HP is know to be FOSS friendly to a remarkable degree. There are hopes that his petition might trigger some action at HP, though nothing can be forced. That’s why the openSUSE community is asked to support this petition. Luedecke writes: “Ultimately we can’t pressure them in regards to a technology they own, not poxet 30 so far as I know. But its worth a shot.”
Archives
bookmark_borderOpenSUSE 12.1 drops Sun/Oracle Java
Today, openSUSE Program Manager Andreas Jaeger announced that openSUSE will stop shipping Sun Java in the upcoming 12.1 release.
Distribution users will now only be offered the GPLed openJDK. In a recent announcement, Oracle declared openJDK to be the new official reference implementation for Java SE7. Along with that move, Oracle dropped the “Distributor’s License for Java (DLJ)” which was required for redistributing Sun Java. Users depending on Sun/Oracle Java are now required to download it directly from the oracle website. Since the acquisition of sun by oracle, the companny has been known for questionable moves which alienate parts of the opensource community. Among these was the OpenOffice dispute which led to the departure of many developers to form LibreOffice. The former sun-owned mysql database has also seen a fork called MariaDB. According to Jaeger, openSUSE will continue to provide the existing packages in the Java:sun:Factory project but will not update them anymore and won’t ship them with the new distribution. Users are urged to switch to either openJDK or the versions available directly from Oracle.
bookmark_borderHorde Project pushes libraries to the frontpage
As you might know, the horde project does not only release a set of production quality software (and an interesting bunch more which are not yet release quality) but also provides over 80 well-designed loosely coupled libraries which help you build websites, business applications or even commandline tools. To stress that point, the Horde Project now put a link to the list of components right on their frontpage. Use Horde_Rdo, a lightweight ORM layer or use the RFC-compliant Imap_Client library which performs equally or even better compared to PHP’s interpreter extension written in c. Horde_Auth, a versatile and pluggable authentication layer, has recently been featured in a series of blog posts by lead developer Jan Schneider.
Like in Symfony or Zend Framework, Components are released along with a PHPUnit based test suite adapted in the Horde_Test class and can be obtained individually through the Horde Pear Channel.
bookmark_borderTip of the day: Changing global php pear settings as root
Don’t forget: when you change pear settings as root, usually you want to set values in the system pear config, not in root’s personal config. The crucial third parameter is optional and defaults to ‘user’. We want ‘system’ instead
pear config-set test_dir /usr/share/php/tests systems
verify:
pear config-show
bookmark_borderJan Schneider: Automatic twitter messages with Horde_Service_Twitter and two lines of code
Jan Schneider just posted a damn cool use case for the Horde_Service_Twitter library. Using this library, just a few lines of php code are enough to send messages to your twitter stream like this:
#!/usr/bin/env php <!--?php /* Keys - these are obtained when registering for the service */ $keys = array( 'consumer_key' => '', 'consumer_secret' => '', 'access_token' => '', 'access_token_secret' => '' ); /* Enable autoloading. */ require 'Horde/Autoloader/Default.php'; /* Create the Twitter client */ $twitter = Horde_Service_Twitter::create(array('oauth' => $keys)); /* Send tweet */ try { $twitter->statuses->update($argv[1]); } catch (Horde_Service_Twitter_Exception $e) { $error = Horde_Serialize::unserialize($e->getMessage(), Horde_Serialize::JSON); echo "$error->error\n"; exit(1); }
Now that’s neat, isn’t it.
In another team I worked with, we used a perl library which sent jabber/xmpp streams to our chat accounts when something ran into an uncought exception.
This might be worth porting to PHP/Horde some day.
bookmark_borderHorde 4.0.6 brings user-specific admin privileges

Traditionally, Horde only knows two kinds of users: Users with administration flag and users without. The list of admins is a static entry in the horde config file. It’s all or nothing – either a user gets access to all admin functions or to none. At least until recently.
Last October I wrote about a patch for Horde 3 which allows permission-based access to individual admin privileges. This patch has now been ported to Horde 4 and is incorporated in Horde 4.0.6. You can now assign a user the task of managing groups without allowing him to use the permissions admin and grant himself additional privileges. Or you can delegate emergency password resets to a group of trusted people without confusing them with icons like the PHP Shell. Only those admin functions are shown which the user has access to. Another side effect: Even if a user has all admin permissions, he is still not recognised as an admin and won’t be shown things that admins always have to see regardless of their permissions and settings.
In theory, you can now give yourself all admin permissions and safely delete yourself out of the admin list – as long as you have the “configuration” permission, you can always go back and restore without manually editing the conf.php file.
The Administration permissions are handled in the permissions screen just like any other user permissions. They live under the “horde” component. Currently only the “show” flag is actually recognized but this will be expanded later.
bookmark_borderMigrating Horde 3 to Horde 4 – Top 6 ways to mess up
There have been some migrations of Horde 3 to Horde 4 recently – not all went smooth from the start.
Some top issues of messing things up and how to avoid it:
- initial application dimpIn Horde 3 dimp was a separate application which provided an ajax interface to imp. It has since been merged into the imp application. If your Horde installation had dimp before migration to Horde 4, this might create runtime issues for your users when
- when you locked the initial application to dimp
- when your users decided that their initial application should be dimp
To get around this you should
- make sure you didn’t blindly copy your locked settings from horde 3 to horde 4
- run a mysql update statement on the horde_prefs table to update column pref_value to “imp” if it was “dimp” before (Consider hiring a professional admin for the migration if you don’t know how that looks like)
- Making changes in backends.php or prefs.php
In Horde 3 admins used to edit prefs.php or backends.php/servers.php to change values. Horde 4 ships backends.php and prefs.php as default values. Admins are supposed to copy these to backends.local.php and prefs.local.php and make their changes there. Changes to the original files will be overridden with the next rpm or pear update of the horde apps. - Not unchecking utc time in kronolith
The Horde 3 Calendaring app defaulted to store calendar events in local user time. The Horde 4 default is UTC timestamps. If you migrate from horde 3 you either have to uncheck that setting or run a migration script on the data.
Warning: You might end up with an unrecoverable state if you add new data in UTC mode to a calendar backend which has not been converted to UTC timestamps - Not converting turba and kronolith databases to utf8
In Horde 3 installations, the calendar app kronolith and the addressbook turba often had their database tables encoded in latin1. The system wide default in Horde 4 is utf8. Not adapting this setting to the tables or the tables to this setting results in corrupted display of international characters and symbols.
Warning: You might end up with an unrecoverable state if you add new data to addressbooks or calendars where backend encoding does not match the set horde encoding - Relying on menu.php’s javascript onclick handler or target attribute
In the ajax views of kronolith and imp there is currently no support for the target and onclick handler attributes. I do not know of any plans to re-add this support. If you want to link external sites into the iframe, consider creating a custom portal block. There was a recent blog post on creating this kind of blocks on The Upstairs Room - Using the ldap prefs backend
The ldap backend for preferences is currently not yet ported to horde 4. If you want to migrate, you first have to extract your prefs from ldap and then convert them to sql. If you need ldap prefs, consider hiring a consultant or sponsoring the development of this feature.
bookmark_borderQuote of the Day: Sleeping
Only sleeping really saves energy, not doing work slowly.
Kay Sievers on OpenSUSE Factory.
This was meant to describe computer power saving strategies but applies to human brains, too.
bookmark_borderOpenSUSE Build Service rebranded
Today the openSUSE project announced that their packaging solution OpenSUSE Build Service will be re-branded to highlight the crossplatform nature of the product. The new name of the platform will be Open Build Service (OBS). Commercial support will also be available soon.
Ralph Dehner, CEO at B1 Systems GmbH noted:
“In the past B1 Systems has written build environments for the customers by itself. With the open Build Service now exists a “standard” which makes it easy to build packages for different distributions and architectures.
This will be also interesting for many other open source projects.”
bookmark_borderHorde 4 submit-requested into OpenSUSE 12.1
Today I submit-requested the Horde 4 Application Framework and the stable apps for openSUSE Factory.
This is becoming openSUSE 12.1 if the packages get accepted on time. They are currently in review.
openSUSE Legal team wants to review all packages’ licensing – I’m sure that’s NOT the fun part of their job.
If everything works fine, openSUSE 12.1 will be the first distribution to feature horde 4 in their mainstream repositories.
Continue reading “Horde 4 submit-requested into OpenSUSE 12.1”