Consonance Gets A Calendar UI (r470)

Consonance now has a calendar UI for the scheduler tab of the main window. This is a significant milestone; up until now that feature has been very conspicuously absent. I had hoped to be be able to port some code from some other projects but ended up writing the entire widget from scratch. Consonance displayed a calendar event for the first time on 2007-12-30 at 16:33 (GMT). A screenshot is here and also attached to this post. This code is included as of r470.


OGo Getting Caffinated

There has been discussion on the OpenGroupware lists about the work Helge has been doing lately in regards to Java and OpenGroupware. The relevant threads are here , here, and the message that started it all is here.

Note:Some of the messages don't thread in the archive correctly, so it might be worthwhile to just look at the archive for December, 2007 @ here

The distilled information is, roughly:

  • Helge does most of his programming these days in Java; what he calls the "new stuff". He doesn't see himself doing allot of work on the Objective-C code base in the future. However the SOPE code base is also used by other projects and no one expects that to become unmaintained.

  • A substantial portion of the Logic and Document API modules of OGo have already been re-written in Java for some of Helge's own work. He intends to release that code in Q1/Q2 of 2008. And he expects to port much more or the remaining Logic functionality in the future.

  • The ported code is 1:1 compatible with the Objective-C Logic and Document API, therefore the two code bases can co-exist and operate on the same database concurrently.

  • Currently the development is done with Eclipse and the components are hosted in Jetty although some of the pieces have been used in a Tomcat environment as well.

  • The Java code actually ends up being faster than the Objective-C code, mostly because it is a ground-up rewrite and one assumes sheds allot of cruft that the older code base has accumulated over the years.

  • This opens up lots of opportunities to support additional databases and graft in allot of functionality made available by other Java assemblies.

The key messages is here:

I dislike talking about thing being done before they are actually
done, but at least I am shifting most OGo developments to JOPE/Java.
What this implies should be discussed on discuss, just wanted to raise
the point that the existing codebase might be become important for
starters in the future ;-)
Anyways. Feel free to ask any questions ;-)
The current situation is that I have rewritten a big part of OGo Logic/
DocAPI in Java in 2007. I have a few custom play-stuff apps running on
top of that (eg a HighRise like UI) and I'm currently doing a midsize
project which uses that.
Most likely I'm going to commit the code to a public repository
beginning of next year. Its much more performant than LSLogic (not
because its Java, but because its designed from scratch ;-) and also
has some neat enhancements.
There is no real UI yet, but something which resembles the "old" OGo
should be pretty easy to do.
[Note: my work so far attempts to be fully compatible with ObjC OGo,
ie database schema and doc storage]
It could be the basis for something like OGo 6.0 ;-)
Hence, most likely I won't put a lot of effort into the Objective-C
parts besides maintenance until JOPE replicas work.
One of the biggest issues I have with ObjC is that the Apple version
and the GNU ones are bound to diverge (eg Apple with GC and ObjC 2.0
features ...), and that gnustep-base goals do not match my
requirements on API stability and OS integration (and lF is a dead end
I'm not perfectly happy with all this but I think for 'developers'
things will get much easier. Machines are fast enough for Java now and
Java itself is now GPL, removing that dependency.

Personally I think this is a very positive development. I am not a real fan of Java, and I generally think the Java environment is simply a mess. But it works, has lots of support, and good solutions can be created in Java. And it does open up a new horizon of possibilities for OpenGroupware. The reliance on an odd environment like Objective-C has, in my opinion, been probably the single largest impediment to OpenGroupware's wild success. Hopefully, Helge will get around to releasing that code sooner rather than later.

Now I just have to get Jetty to actually work on an openSUSE box...