Archive for February, 2008

18
Feb

What is this?

This happened more than 10 times today directly behind our flat. For the tree I took the pictures of, they needed about 5 minutes to chop. It took so long due to a 2 minutes delay of the man with the power saw, who had a short break.

killtree.jpg

Is it fascinating or depressing? Is it ruling nature or self-destruction? I don’t know. But what I know for sure is, that the playground behind our flat was far more attractive with the nice shadow casting trees we had till today 12 o’clock.

11
Feb

Javascript Code Documentation

After a hard period of coding a lot of javascript, I wanted to run a code documentation tool for auto generated docu of my classes.

Therefore I used the docu tags as I found them in the sourcecode of the ExtJS library with the strong feeling that I just have to download the appropriate tool when I want to generate my docu.

Foolish me! After some hard googleing I found, that there is no such tool out. There are quite a few projects dealing with javascipt docu, but they all don’t understand the ExtJS slang.

ExtJS itself uses an internal tool, which they don’t want to publish. Luckily I found a thread in the ExtJS Forum where a user claimed to have a working solution, but also this user didn’t want to share it.

A small side-note made me hoping to find his code in the official jsdoc-toolkit project. So I searched  the projects svn repository, but w.o. success. Frustrated i began coding myself a solution. Driven by the thought, that the ExtJS Forum user must have had at least committed something to the Jsdoc-toolkit project I started my svn browser again and searched explicitly for such an commit.

Surprised I found that there must have happened some really ugly scenes in this project. With revision 476 all the work on a ExtJS compatible version where doped.

But hey, it’s SVN :-) Just checkout revision 471. I don’t dare to publish an Archive of it here, as i don’t know if there are any licensing issues. Moreover the efforts are not completed yet, but it looks really promising:

extdoc.jpg

I’ll try to contact the author and see if we can bring this to a successful end.

06
Feb

Topview compareism of eGroupWare and Tine codebase

While profiling the Tine code, I coudn’d resist, analysing how may lines of code we have in total, and how many of them we have to maintain ourselves.

I did this for Tine and for eGroupWare. Test target was the API. To have a comparable analysis I excluded the SyncML code from the eGroupWare contage as this is not covered by the Tine api at the moment.

code2maintain.jpg

Needles to philosophise on the conclusion and impacts of stability and quality or?

05
Feb

Status update of the Tine 2.0 effort

Two month after reaching milestone 1, we are glad to announce, that we passed milestone 2 last weekend.

What’s new?

Most noteworthy and surprising for us was the early adaption of our code-base into the eGroupWare project as official subproject [1]. From 2007-12-18 on the Tine 2.0 source-code is managed via the project’s svn server [2, 3] .

On request of the developers community we renamed the effort from “eGroupWare 2.0″ into “Tine 2.0″ to clarify the current state as a proposal for the next major release, but not being an eGroupWare release in this stage. Consequently “Tine” is an acronym for “This is not eGroupWare”. As the English word ‘tine’ stands for e.g. ‘tine of a fork’ this fits our self-conception for being the tine of eGroupWare, dealing with the latest and coolest web-technologies.

From the user’s point of view, milestone 2 brings a simple task manager and a CRM module. But this is of course only the tip of the iceberg, as in this stage Tine mostly is about building a framework for collaboration applications based on a Service Orientated Approach (SOA).

Building the client entirely in Javascript, getting deployed by the first browser request brings the exciting Rich Internet Applications (RIA) world to the user. Having the same user interface concepts in a web-application as the user already knows from desktop applications, increases productivity dramatically. Impatient users can convince themselves in the demo [4] even in this early stage.

Noteworthy technical details

Together with the eGroupWare developers team we worked out a schema for generalized history logging and concurrency management and implemented it in the Tine code-base. This is a big step towards making the software applicable in multiuser environments on the one hand, and also a preparation for mobile client synchronization protocols like SyncML and ActiveSync as well as fat-client live protocols like CalDAV and GroupDAV. The lack of such features is one of the major drawbacks in terms of data integrity in the old eGroupWare code-base.

On client side, we started building widgets for common and frequently used parts. It’s the first step towards a Rapid Application Development (RAD) framework. Originally this was considered as long term goal. However, as we got much requests from the eGroupWare 3rd party developers and ExtJS users community we decided to increase our priority in this field .

Next Steps

General topic of the 3rd phase is consolidating and documentation of the code-base. For sure we would also love to implement a great set of new features and back-end enhancements, but we strongly believe, that sticking to professional programming paradigms like this, will make both, the developers and users community, more satisfied with the new version.

As such there is only little innovation on the plan for milestone 3. First we need to find solutions for having tight integration of different independent components. This will be done on the basis of the existing applications Address-book, Tasks and CRM.

Moreover an implementation of a generalized tagging system could be found on the roadmap [5]. Aim of this effort is to find a solution which overcomes the performance and integrity problems we have to face within the current stable release of eGroupWare.

So far for the update, thank you all for the enormous interest in Tine 2.0. Please keep us provided with your ideas and feedback which help us redefining collaboration open minded and open sourced.
Your Tine 2.0 dev team

[1] eGW+administrator+decisions
[2] SVN repository viewer
[3] Tine 2.0 changelog
[4] Tine 2.0 demo
[5] Roadmap for Tine_2.0

01
Feb

Tasks manager for tine 2.0

I just finished the first draft for a new task manager in tine 2.0. I’m really amazed about a totally new dimension of user interfaces possible thanks to the extensive use of javascript.

Learning Javascript hurts, but seeing the results is compensation :-)

The task-manager is available in the demo now.
I made a little screencast, hope you enjoy it.

taskscast.jpg