OS X 10.9 Mavericks: Kostenloses iWorks Update für DVD-Kunden

Aktuell wird für Kunden, die die iWorks Suite noch von einem DVD-Datenträger installiert haben (und eben nicht via Mac App Store), kein kostenloses Update für Keynote, Pages und Numbers angeboten — zumindest in Deutschland.

Stellt man seine Systemsprache auf Englisch und bootet neu (vielleicht reicht auch aus- und einloggen), dann werden die kostenlosen Updates angeboten.

Danke für den Tipp!

Ach ja, übrigens: Weil das Upgrade durchaus Features weniger hat, empfiehlt sich unter Umständen ein Backup der alten Software. Prinzipiell sind die ja auch beide parallel lauffähig.

Spring 3.2 + JodaTime + Jackson2

Möchte man in seinem frischen Spring 3.2 Projekt auch gerne Jackson 2 (Version 2 von fasterxml, Version 1.x bei codehaus) mit Joda Time verdrahten, um beispielsweise eine schöne ISO-Formatierung bzw. Konvertierung (also „rein“ und „raus“) zu ermöglichen, dem sei folgende Lösung ans Herz gelegt. Jegliche eigenen Date-Serialisierer aus früheren Versionen sind nicht mehr notwendig.

Lösung bei stackoverflow

Eclipse 3.6: Ersteindruck

Der dritte Release Candidate von Eclipse 3.6 alias Helios wurde vor wenigen Tagen bereitgestellt – man kann wohl davon ausgehen, das dem baldigen Release Juni/Juli nicht mehr viel im Weg steht.

Damit reiht sich nun ein weiterer Jupitermond in die Reihe der 3.x-Releases ein: besser, umfangreicher, aktueller.

Auf dem ersten Blick sieht Eclipse wie immer aus. Zwar wurde der Welcome-Screen, wie immer, in Punkto Design und Content geändert.. aber ansonsten ist alles wie gehabt.

Zwecks des kleinen Reviews habe ich die 64-Bit-Version (Cocoa) für Mac OS X heruntergeladen; da ich aber auch noch eine Reihe von Plugins benötige, diese dann später nachinstalliert. Prinzipiell hat sich der Updatemanager zumindestens optisch nicht zum Vorgänger geändert. Immerhin: Mit schätzungsweise 50 Einzelplugins ist der Installationsvorgang erstmalig in meiner persönlichen Eclipse-Geschichte problemlos von statten gegangen – sonst hat es immer irgendwo ein bisschen geknallt. Manchmal mit, meist ohne Auswirkungen. Unter anderem war auch ein SVN Connector Plugin dabei.

Es sieht so aus, als wäre in Eclipse kein VCS-Plugin (mehr) enthalten, vielmehr wird dies durch den Connector (ggf. bekannt aus 3.5) bekannt. Nach dem obligatorischen Neustart wird man sofort vom Connector-Wizard begrüßt und kann zwischen verschiedenen HavaHL und SVNKit-Versionen wählen. Ausgewählt, installiert, neugestartet. Fertig. Import, From SVN.. und voilá. Projekt ist drin. Interessant: Neuerdings wird man informiert, dass man gespeicherte Passwörter (SVN-Dialog) mittels Passphrasen absichern kann.

Die kleinen Details

"Eigenschaften" in Galileo
"Eigenschaften" in Helios

Ich habe mich im Vorfeld noch nicht mit den Änderungen und Neuerungen von Helios auseinandergesetzt, daher stochere ich etwas herum. Augenfällige Änderung: Die Eigenschaftsfenster einer Dateiressource wurden um eine detaillierte Rechte-Verwaltung erweitert.

Resources / Syncing

Aha… Resources können jetzt endlich gefiltert in einem Projekt eingefügt werden. Soll heißen: Man kann nicht nur weitere Resourcen dazu linken sondern auch explizit welche ausschließen. Yes!

Der Produktiveinsatz in den nächsten Wochen wird zeigen, was es sonst noch gibt.

Context Affair

Bei Spring ist die globale Einheit in der Konfiguration der so genannte ApplicationContext. Dieser Context ist etwa ein Container im Applicationserver (beispielsweise web.xml). Soweit so gut.

Tatsächlich ist der WebApplicationContext eine Spezialisierung des oben genannten ApplicationContext — und zuständig für Webanwendungen. Da ein Servlet die Steuerung im Applicationserver übernimmt, benötigt der Spring-Context ein DispatcherServlet. Damit ist die „Verbindung“ User->Server->Spring geschaffen. Soweit so gut.

Konfiguriert man das DispatcherServlet etwa – sinnigerweise – mit dem Namen“dispatcher“, dann sucht Spring standardgemäß nach einer dispatcher-servlet.xml. Diese XML-Konfigurationsdatei kann ähnlich der applicationContext.xml (u.ä.) ganz normale Bean-Konfigurationen enthalten. Interessant ist dabei, dass dabei ein zusätzlicher ServletContext erstellt wird. Das hat zwei Auswirkungen:

  1. Beans aus dem ServletContext sind nicht im ApplicationContext verfügbar
  2. Annotations-gestützte Konfigurationen müssen jeweilse in beiden Contexten konfiguriert, also aktiviert, werden

Merke: Verwende in (Hibernate) Mappings keinen Spaltennamen wie „primary“. Denn wird er nicht überschrieben – etwa über die @Column-Annotation – kann es zu gar nicht lustigen Problemen in der DB führen, auch HSQLDB. Versteckt irgendwo in der Tracelog.

Hintergrund: Ist natürlich ein SQL-Schlüsselwort.