random thoughts and little goodies

Donnerstag, Juni 18, 2009

SVN trunk is not for production use!

I just added a README file concerning production use to the root of tine20 trunk:
Do not use the Tine 2.0 SVN trunk version on a production server:
The trunk should be seen as a development code and *not* suitable for production use.

Production servers should only run the official Tine 2.0 releases from

The Tine 2.0 SVN trunk
- will contain new features that have only undergone limited testing and may corrupt data and/or return incorrect results.
- may create database formats/tables that are not upgradable to future releases of Tine 2.0. Databases created by official Tine 2.0 releases will be upgradable to future versions.
- may not supply update scripts for database or other changes. It might be necessary to uninstall and reinstall applications for the changes to take effect.

Nevertheless we highly appreciate testing of the SVN trunk and user feedback and/or bugreports:
You can send bugreports via
- the build in bugreporting tool.
- the forum (
- the bugtracker (

We also like to have your feedback to new features and suggestions for improvements. You may put these in our forum at as well.

Now go and have fun with Tine 2.0 ... :)
We are going to the LinuxTag in Berlin in the next week. Come and meet us there at our booth if you like ... :)

Labels: , ,

Mittwoch, Mai 06, 2009

tine 2.0 email client

I have been working on the tine 2.0 email client for the last few days and I am making fast progress.

The new Felamimail IMAP client is at the moment able to fetch and cache mails and folders, get the message contents and show the mail flags (unread -> bold row, answered -> icon, forwarded -> icon, flagged -> row in red font color).

As next steps I am going to implement the 'write new mail' and 'reply'/'forward' functions and the handling of file attachments.

Lars is working on the ActiveSync support for emails. When this is finished, we are able to push emails to mobile clients!

Labels: , , ,

Dienstag, November 04, 2008

major (php-)refactoring and documentation updates

I have been refactoring our backend, application structure and bootstrapping in the last few weeks.

In the backends, we extend the abstract sql backend class which contains all the standard functions like create, update, delete, etc. and is able to handle the different records and database tables.

Our application structure also changed a little bit. I updated the documentation in the wiki.

The bootstrapping process has been revamped as well. We splitted the Tinebase_Controller and created a new Tinebase_Core class which now does all the initialization work and can be used to get data from the registry (like the database adapter, current user, ...).

More new wiki articles cover the Exceptions concept and a HowTo for building a Tine 2.0 application (still work in progress).

Labels: , ,

Dienstag, September 16, 2008

fonts in pdf export

We are using the Zend_Pdf module from Zend Framework to create the PDFs for the contact and lead export functionality.

Sadly, the build-in type1 fonts of Zend_Pdf don't support unicode characters. But we have added the possiblity to include your own fonts (in truetype or opentype format) to display more exotic characters. I got some good results with the DejaVu font that came with OpenOffice on my Ubuntu system. This feature is part of the upcoming beta1 release.

To include your fonts, you have to add the following lines to the in the tine root dir and adjust the paths and embed setting:

'pdfexport' => array(
'fontpath' => '/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf',
'fontpathbold' => '/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf',
'fontembed' => true

Does anybody know a (tt or ot) font that has full unicode support?

Labels: , , , ,

Dienstag, September 02, 2008

tine 2.0 roadmap updated

we just updated the tine 2.0 roadmap and added more milestones and issues/features to it.

we plan to release the tine 2.0 beta1 (feature freeze) and beta2 (bugfixing, translations and missing unittests) in september.

there is already an outlook on future features (see section "on the horizon").

Labels: , , , ,

Donnerstag, Juli 17, 2008

profiling with xdebug and KCacheGrind

One of my last tasks was to rewrite the functions for searching for contacts in the Addressbook application. At one point, I wondered why it took so long to fetch some contacts from the database and display them in the addressbook.

To analyze the control flow of the searchContacts() function, I used xdebug to create a profiling log and KCacheGrind to visualize the the function calls, the execution time and the control flow of tine 2.0.

After I got accustomed to this kind of visualisation, I quickly found the function that was responsible for the long execution times and was able to improve it and make it faster.

We plan to implement caching of data in the next milestone to improve the performance even more.

If you want to know more about profiling with xdebug read this article.

Labels: , , ,

Montag, Juli 14, 2008

fusion, slr und so kram

mein letzter post ist schon wieder ne weile her, auch diesmal will ich mich kurz fassen ...

* die fusion war wieder sehr toll (eine schöne möglichkeit ums sich nen eindruck zu verschaffen, ist diese flickr-gruppe), wenn auch sehr voll (ca. 53.000 leutchen waren da)

* ich hab mir endlich wieder ne kamera gekauft ... und zwar eine canon eos 450d

* das bedeutet: es gibt auch wieder neue bilder auf meinem flickr-account zu bewundern

nächstes wochenende bin ich mal wieder in der alten heimat. wie es da wohl jetzt aussieht??

Labels: , ,

eclipse, mylyn and mantis

I just installed the Mylyn plugin for Eclipse and connected it to our mantis bugtracker. Mylyn is an integrated task management system for eclipse that allows you to keep track of all tasks of your project. It manages task contexts (such as important files for that task), task schedules, task lists, svn change sets and more. Sadly, the PHP bridge is not available in Eclipse PDT at the moment, but it is scheduled for PDT 1.1.

Read this article about Mylyn if you want to know more.

Labels: , , ,