2007-12-31

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.

2007-12-26

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:

---snip---
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 ;-)
---snap---
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
anyways).
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...