20110307

Was ist eine Anwendung?

Am Wochenende habe ich mit makedocs weitergemacht. Beim Generieren der Lino-Dokumentation hatte ich ja schon immer das Problem, dass Lino mehrere Anwendungen (Django projects) enthält, und sphinx.ext.autodoc kriegt diese Module nur dokumentiert, wenn DJANGO_SETTINGS_MODULE korrekt gesetzt ist.

Jetzt habe ich (hoffentlich) endlich ein kohärentes System, um auf Modelle zu verweisen:

  • dsbe.contacts.Person
  • igen.contacts.Person
  • igen.contacts.Person.street
  • lino.modlib.contacts.models.Person

Die Dokumentation muss sich jetzt freilich noch von der Operation erholen, und makedocs ist lange noch nicht fertig. Aber vom Prinzip her bin ich nun zuversichtlich.

En passant kam es noch zu einen internen Beschluss, der mir ebenfalls nicht leicht fiel: das, was ich bisher als “Lino Site” bezeichnete, bezeichne ich jetzt als “Lino Application”.

vorher nachher
LinoSite Lino
LINO_SITE LINO
lino.sites.* lino.apps.*

Ich distanziere mich dadurch von der etwas eigenartigen Django-Terminologie. Django meint mit “Application” das, was ich ein “Modul” nenne. Und das, was ich unter “Application” vestehe, nennt man in Django ein “Project”.

Es ist natürlich schade, dass Django und ich das Wort “Application” jetzt unterschiedlich verstehen. In INSTALLED_APPS z.B. sind natürlich auch unter Lino weiterhin Module enthalten (also das, was Django “applications” nennt. Und das eventuelle Attribut app_label in der Meta kann ich auch nicht umbenennen.

Ich steh dann als frech da gegenüber der etablierten Autorität. Aber so bin ich ja. Ein “Lino Site” ist nun mal was anderes als eine “Lino Application”. Lieber mach ich eine sichtbare Naht zwischen Lino und Django, als dass Lino selber inkohärent ist. Mehr darüber muss ich dann bei Gelegenheit mal schreiben, wenn Lino fertig ist…

Getting started with Qooxdoo

16.10 Uhr. Ebenfalls am Wochenende hatte ich das Tutorial auf Qooxdoo begonnen. Und jetzt habe ich es zu Ende absolviert. Sehr gut geschrieben! Ein Bravo an den Autor!

Warum ich das mache? Mein Plan ist, dass ich einige Tage lang probiere, ein Qx-Interface für Lino zu schreiben. Ich selbst bin zwar zufrieden mit ExtJS, aber Andres in Pärnu ist so begeistert von Qx, dass er bei Lino nur mitmachen würde, wenn der auch Qx statt ExtJS kann. Und vom Design her müsste das nicht schwierig sein. Und Lino stände dann nicht nur punkto Anwendungen auf auf zwei Beinen, sondern auch beim Thema User Interface.

Eine kleine Enttäuschung hatte ich gleich zu Beginn: ich hatte geglaubt, dass eine Qx-Anwendung merklich schneller als ExtJS sei. Aber auf den ersten Blick habe ich keinen merklichen Unterschied festgestellt.

Also einen ersten Überblick über Qooxdoo habe ich jetzt, jetzt kommt der schwierigere Teil: wie kriege ich Qooxdoo mit Lino verknüpft? Ich weiß, dass mir dabei niemand helfen können wird, also schreibe ich momentan auch nicht mehr darüber. Aber haltet mir die Daumen, dass ich es schaffe :-)