Timotheus Pokorra's picture

Nightly builds of Kolab now available from LBS

Previously, my nightly builds of Kolab have been built and hosted here:

There were 2 problems recently:

  • I was not able to add builds for CentOS7. The error message is:
    Failed to add project or repository: unable to walk on path 'CentOS:7/standard'
  • Each time there was a new patch or release on Kolab:Development, I needed to manually remove the patch from the nightly package because the patch was already part of git master. I also needed to resolve conflicts in the debian.changelog and package dsc file because the version number changed.

UPDATE: since there was an easy fix for Point 1 (just edit the Meta file of the project to add different Operating System), I also realised I could update the OBS packaging instructions the same way as I do for LBS, avoiding conflicts. So we will see if that works over the coming weeks…

After some improvements to my LightBuildServer, I am now able to build the nightly packages on my own LBS server.

This is done in two steps:

Andreas Cordes's picture

Kolab 3.4 released - New Skin - Chwala driver for Seafile

Hello @all, Community released Version 3.4 and it was time to get the new updates up and running.

This time there is a new driver for "chwala" integrated for +Seafile.VN so I gave it a try and tried to mix it all together.

After lots pf solving dependencies and so on I managed to get the new version up and running with Seafile attached.

That's quite amazing, for this you have to configure Seafile through Apache and connect to the LDAP.

When you were able to manage all these things, you can easily save attachments in your cloud and syncing them to your smartphone. :-)

There are still some issues on my Cubietruck which I have to solve but my Idea is to rebuild all the stuff from scratch in a chroot environment and track down all steps to get it working.

Two Screenshots showing the new skin for +Roundcube and the integration of Seafile into Chwala.

Daniel Hoffend's picture

Customize the chameleon skin

With the recently announced Kolab Groupware 3.4 Version a new default skin got introduced: "Chameleon". The new skin (which is still based on larry) provides a very clean layout which is very easy to customize.

Thanks to the LESS CSS Compilier you basically only need to define a few main colors (I changed 2), compile the style sheets and exchange the skinlogo. Most of the the other colors used within roundcube are based on your main-color (lighten by 30%, etc.).

If you don't like some of the colors in the icons, change them too by either changeing the psd files or just edit the png files (which sufficent) and within 10-120 minutes you got your personal kolab skin running.

The file structure

The roundcube theme is split into 2 componentes. The internal skin parts which consists of templates, configuration files, etc. and the asset part like CSS and images.


Let's start

  1. Duplicate the existing chameleon skin
    cd /usr/share/roundcubemail
    cp -a skins/chameleon skins/mytheme
    ​cp -a public_html/assets/skins/chameleon public_html/assets/skins/mytheme


  2. Give your theme a name


    "name": "My Theme", 
  3. Set the 2 most important colors (main color + link color)


    @main-color:  #C1D72E;
    @link-color:  #ADAA38;


  4. To compile and minifiy your stylesheets you need the node-less compiler. You can either install nodejs and node-less (version >= 1.8.5) from your favorite repo or just use the version from the kolab repository.
    lessc public_html/assets/skins/styles.less > public_html/assets/skins/styles.css


  5. Replace the kolab logo (which is used in the upper left corner) with your logo.
    cp ~/mytheme_logo.png public_html/assets/skins/images/kolab_logo.png


  6. Change the skin in roundcube's configuration


vanmeeuwen's picture

Wife's Birthday? Kolab 3.4 Release Day!

What is the most original birthday present one can give their spouse? Well, how about a release of your favorite collaboration software suite!

I'm pleased to announce that Kolab 3.4 is available via our OBS repositories immediately!

Please see our Installation Guide for instructions on getting you some Kolab on your favorite platform, and if you already have Kolab running, check out the Upgrade Note from Kolab 3.3 to 3.4, kindly contributed for your benefit by Daniel Hoffend.

Kolab 3.4 comes with a new skin, called chameleon, that is a nice and clean-cut, modern skin for the web client -- courtesy of Kolab Systems, patron of the Kolab Groupware solution.

Two weeks ago, we have had our first release planning meeting on IRC, which has resulted in very fruitful feedback, contributions and most importantly a significant chunk of quality assurance from various participants in the community. A special thanks goes out to Daniel Hoffend and Timotheus Pokorra, who've spent plenty of their spare time on ensuring that Kolab 3.4 is the best it can be right out of the box. One slice of the pie on your right is theirs.

We're definitely going to continue to open up more processes, such as, for example, the Kolab 3.5 Roadmap.

The Kolab 3.4 release also marks the first release with an actual release party - though naturally many people are not able to attend. We're celebrating the Kolab 3.4 release is probably the best quality assured stable release has yet performed

Aaron Seigo's picture

Protocol Plugfest: opening closed doors to interoperability together

Protocol Plugest -

The "world wide web" has been such an amazing success in large part because it was based on open protocols and formats that anyone can implement and use on a level playing field. This opened the way for interoperability on a grand and global scale, and is why http and HTML succeeded where many others failed previously.

Unfortunately, not all areas of computing are as blessed with open protocols and formats. Some are quite significant, too, with hundreds of millions of people using and relying on them every single day. Thankfully, some brave souls have stepped up to implement these proprietary protocols and formats using open technology, specifically as free software. The poster child for this is Samba and the ubiquitous file and print server protocols from Microsoft.

Such formats abound and are a key component in every day business (and personal) computer usage, and since the protocols are often not as open as we'd like it can be tricky to provide free, open and interoperable implementations of them. Again, just ask the Samba team. Yet bringing the option of freedom in technologies used by business and government around the world relies on these efforts.

The free software community is moving rapidly on all fronts of this landscape, and to help ensure that our efforts actually do work as expected and that we are sharing useful information with each other between projects, a fantastic conference has been set up: the Protocol Plugfest which will be held in Zaragoza, Spain on May 12-14. This is much like the ODF Plugfest which focuses on office file formats, but with a stronger focus on protocols found in products such as Active Directory, Exchange, Sharepoint, CIFS and LDAP.

vanmeeuwen's picture

Benchmarking Storage Pods, Part II

Welcome back to the ongoing series of blog posts on benchmarking storage pods! Today is another beautiful Thursday and we have some extra information for you.

In my first blog post in this series, I had just barely gotten my hands on a Storage Pod -- and I was out to set a baseline for the storage performance. I mentioned that our intention had been to use SSDs for really fast access, and bulk SATA drives for the massive amounts of storage. I may also have mentioned that the controllers were seemingly unfairly balanced. More details of course are in part I.

First of all, I have to send a big thank you to our vendor, who almost immediately responded with some quick tips, clearly showing that the Storage Pod crowd of is paying attention, and wants you to get the loudest bang for your buck. Much appreciated, and nothing but kudos!

vanmeeuwen's picture

Benchmarking Storage Pods, Part I

I have recently obtained access to a so-called Storage Pod -- an open hardware design for stuffing up to 45 SATA III drives in to a chassis no higher than 4U -- a.k.a. "Storinator".

How does one benchmark such goodness? Well, most importantly you first need to set your baseline. This I will do in this Part I of what hopefully becomes a series of posts on the subject.

The pod comes with 2 Highpoint Rocket 750 controller cards connected to 3 SATA back-planes, each of which capable of transferring up to 5 GBps. This seems unfairly balanced, since the slots these controller cards are stuffed in each have their own maximum transfer rate. Let's keep this in mind while we dive in deeper.

It's stuffed with 39 times 4 TB Western Digital "Red" drives, striking a balance between overall power consumption, capacity and Mean Time Between Failure (MTBF). This leaves 6 slots open, in which are 1 TB Samsung SSDs.

vanmeeuwen's picture

Kolab 3.4 Release Planning

We're meeting on Friday, February 13th at 15:00 CET in the #kolab IRC channel on the FreeNode network, to discuss the release of Kolab 3.4.

Aaron Seigo's picture

tracking the lifetime of objects on a kolab server

An interesting problem came up during a recent bit of Kolab server-side work: tracking the lifetime of objects in the IMAP store. How hard can it be, right? In my experience, it is the deep, dark holes which start with that question. ;)

In our case, the IMAP server keeps objects (e.g. emails, events, whatever) in directories that appear as folders to the client. It keeps each object in a separate file, so each object gets a unique filename in that folder. That file name plus the folder path is unique at that point in time, something enforced by the filesystem. Let's call this the "object id" or OID for short. Of course, when you move an object from one folder to another that id changes; in fact, the file name may also change and so the OID is not constant over time. We can track those changes, however.
Inside the file is the message content of the object. There is an ID there as well, and generally those are unique to a given user. Let's call this the "message id", or MID for short. However, it is possible to share messages with others, such as when sending a calendar invitation around between users. This can lead to situations quite easily where multiple users have a message with the same MID. They of course have different OIDs .. right?
Well, yes, but only at a given point in time. It is possible that over time, with "clever" moving of objects between folders, particularly once we add in the concept of shared folders (which is the same as saying shared calendars, notes, etc.), it is possible that at different points in time there can be objects with the same OID and the same MID but which are actually physically different things.
Now if we want to get the history for a given object in the IMAP storage and list all the things relevant to it in an entirely deterministic way, how can we guarantee proper results? In a simple logging model one might want to simply key change events with the OID, MID or some combination, but since those are not guaranteed to be unique over time in any combination this leaves a small challenge on the table to make it deterministic.
roundcube's picture

New stable version 1.1.0 released

We’re proud to announce the arrival of the next major version 1.1.0 of
Roundcube webmail which is now available for download. With this
milestone we introduce new features since version 1.0 as well as
some clean-up with the 3rd party libraries:

  • Allow searching across multiple folders
  • Improved support for screen readers and assistive technology using
    WCAG 2.0 and WAI ARIA standards
  • Update to TinyMCE 4.1 to support images in HTML signatures (copy & paste)
  • Added namespace filter and folder searching in folder manager
  • New config option to disable UI elements/actions
  • Stronger password encryption using OpenSSL
  • Support for the IMAP SPECIAL-USE extension
  • Support for Oracle as database backend
  • Manage 3rd party libs with Composer

In addition to that, we added some new features to improve protection
against possible but yet unknown CSRF attacks - thanks to the help of
Kolab Systems who supplied the concept
and development resources for this.

Although the new security features are yet experimental and disabled by default,
our wiki describes how to enable the Secure URLs
and give it a try.

And of course, this new version also includes all patches for reported
CSRF and XSS vulnerabilities previously released in the 1.0.x series.

IMPORTANT: with the 1.1.x series, we drop support for PHP < 5.3.7
and Internet Explorer < 9. IE7/IE8 support can be restored by
enabling the ‘legacy_browser’ plugin.

See the complete Changelog at
and download the new packages from