Ärger beim Wechsel von OO 2.4 zu OO 3

Nachfolgend die Beschreibung einiger Nicklichkeiten, die mir heute an produktiven Arbeitsplätzen auffielen, bei denen gerade von Openoffice 2.4 auf Openoffice 3.0.1 bzw. 3.1.0.6 gewechselt worden war:

Impress 3.0.1 und Einzüge der Gliederungspunkte

Hatte man sich im Master einer OO 2.4 odp-Datei die Bullets und die Einzüge der verschiedenen Gliederungsebenen mühsam über die Formatierung der “Nummerierung und Aufzählungszeichen” hingebastelt, so freut man sich natürlich, wenn man das Dokument unter OO 3.0.1 öffnet und die Gliederungspunkte seiner Präsentationsseiten an den alten Stellen vorfindet. Die Freude wird jedoch schlagartig getrübt, wenn man dann in einer solchen Liste von Gliederungspunkten einen neuen Punkt einfügen will, ihn mit der Tab-Taste auf die richtige Ebene bringt und der neue Punkt plötzlich nach rechts oder links verschoben auftaucht, während alle alten Punkte auf der Zielebene da verharren, wo sie waren.

Als Ursache entpuppt sich nach ein wenig Spielerei eine Korrektur des Berechnungsverfahrens für die Einzüge in Kombination mit evtl. Einzugsvorgaben in den Formatvorlagen für die Gliederungsebenen “Gliederung 1, Gleiderung 2, … ” : Hatte man in OO 2.4 in der Formatbeschreibung der “Gliederung x” einen Einzug definiert und gleichzeitig eine Positionierung der Bullets und Texte über die “Nummerierung” vorgenommen, so zog der durch die “Nummerierung” vorgegebene Einzug. Der Einzug der Formatvorlage “Gliederung x” blieb unwirksam.

In OO 3 wird dagegen der Gesamteinzug (richtigerweise) so berechnet, dass der Absatzeinzug zunächst über die Vorgabe für die “Gliederung x” vorgegeben wird. Additiv hinzu kommt dann der über die Nummerierungsformatierung definierte Einzug. Hatte man also im OO 2.4 odp-Dokument Einzüge für die Gliederungs-Formatvorlagen definiert, so werden diese Einzüge für neu angelegte Gliederungspunkte unter OO 3.0.1 plötzlich wirksam. Das Peinliche an der Sache ist das, dass man es sich bei der Übernahme der 2.4 Objekte zu einfach gemacht hat: Dort bleibt nämlich zunächst alles beim alten. Nur jeder neu (!) angelegte Gliederungspunkt verrutscht. Für den Anwender ist dies zunächst ein völlig undurchschaubares Verhalten.

Das Ganze funktioniert nach dem Muster: Wir haben die Berechnung der Einzüge verändert. Damit die Anwender beim Öffnen von Dokumenten aus früheren OO-Versionen nicht gleich erschrecken, lassen wir die Positionierung der alten Gliederungspunkte trotz neuer Berechnungsvorschrift unverändert. Die neue Positionsberechnung wenden wir nur auf neue Punkte an.

Dies ist ein Beispiel dafür, wie man durch Behebung eines Fehlers und gleichzeitige inkonsequente Übertragung der Berechnungsvorschriften auf alte Dokumente-Einträge den unbedarften Anwender vorübergehend in den Wahnsinn treiben kann.

Um die aus dem 2.4-er-Stand übernommen Gliederungspunkte mit den neuen Gliederungspunkten bzgl. des Einzugs gleichzuschalten, kann man übrigens die Einzugsdefinitionen für die Formatvorlagen “Gliederung x” in einem betroffenen Dokument komplett auf 0 stellen.

Impress 3.x und die Position von Tabulatoren

Hat man das Lineal eingeblendet und fügt einem Gliederungsabsatz einen Tabulator hinzu und schiebt diesen dann im Linealbereich per Maus auf die Position 22.0 cm, so würde man als naiver Anwender erwarten, dass ein Öffnen der Maske zum Editieren der Tabulatoreigenschaften des Absatzes einem dann eine Position von “22.0 cm” anzeigt. Dies ist jedoch nicht der Fall: Je nach Einzugsdefinition der Formatvorlage “Gliederung x” wird ein anderer Wert angezeigt. Nur die Addition des Absatzeinzugs mit der Tabulatorposition ergibt die graphisch vorgegebene Wunschposition 22.0 cm. Die Tabulatorposition ist also relativ zum Einzug zu verstehen.

Wäre man umgekehrt von vornherein über die Eingabemaske für Tabuatoreigenschaften vorgegangen und hätte dort die Tabulatorposition auf 22.0cm vorgegeben, so hätte man sich gewundert, warum der Tabulator im graphischen Lineal nicht bei 22.0 cm steht. Hier vermisse ich einen kleinen entsprechenden Hinweis für den User in der Maske zur Tabulatorpflege.

Ausbleibender Screenupdate beim Löschen eingefügter Zeilen mit Formeln in Calc 3.0.1

Man füge 2 Zeilen in ein OO 3.0.1 ods-Tabellendokument ein – mit folgenden Eigenschaften:
Zeile 1: Spalte A: Beliebiger Text / Spalte C: Zahlenwert 50 / Spalte D: Zahlenwert 1 / Spalte F : Funktion WENN(D1=1;C1;0)
Zeile 2: Spalte A: Beliebiger Text / Spalte C: Zahlenwert 80 / Spalte D: Zahlenwert 0 / Spalte F : Funktion WENN(D2=1;C2;0)

Nun füge man eine leere Zeile zwischen diesen beiden Zeilen ein. Im nächsten Schritt versuche man, die eben eingefügte Zeile zu löschen (per Kontextmenü). Auf dem PC, auf dem ich heute gearbeitet habe, verschwand dann das Kontextmenü nur teilweise und die zu löschende Zeile blieb stehen. Erst ein über andere Aktionen erzwungener Screenupdate (z.B. durch ein kurzes Scrollen mit der Maus) führte zum gewünschten Ergebnis in der Tabellenansicht. Wehe dem User, der den Screenupdate nicht erzwingt und in die verbleibene (optisch) nicht gelöschte Zeile etwas reinschreibt. Beim nächsten Screenupdate verschwindet dann die gelöschte Zeile doch und die Änderung hat sich leider 1 Zeile tiefer ausgewirkt.

Das Problem taucht nicht auf, wenn man keine Formeln in den Zellen der Zeile hat. Naiv würde ich mal vermuten, dass die Ursache eines solchen Bugs darin liegt, dass man in einem Modell-View-Kontext vergessen hat, nach dem Updaten aller Formelergebnisse im Modell-Bereich auch den View wieder upzudaten.

Der Fehler taucht in aktuelleren Versionen von Calc nicht mehr auf. Dennoch war er in der produktiven Umgebung , in der ich heute arbeiten musste, fast ein Show-Stopper.

Probleme beim Öffnen von doc-Dokumenten in OO 3.1.0.6, die mit Writer 2.4 erzeugt wurden

Meine Frau und ich müssen ab und zu mit doc-Dokumenten umgehen oder solche ausliefern. Das machen wir natürlich – soweit möglich – mit OO. Blöd nur, wenn man ein Dokument mit wichtigen Tabellen, das man mit Writer 2.4 erzeugt und ins “doc”-Format umgewandelt hatte, nun mit Writer 3.1.0.6 öffnet und die Tabellen nicht mehr sieht. Noch blöder, wenn die Tabellen Basisdaten für eine Rechnung enthalten haben und der Kunde bestimmte Rechnungspositionen gerade jetzt am Telefon diskutieren will. Peinlich auch, dass die “doc”-Datei mit Writer und nicht mit MS Word erzeugt worden war. Ursache des Fehlers ist wie so oft eine Änderung in der Berechnung der Tabellenposition – besonders hart trifft der Bug Tabellen, die im Originaldokument etwas über den Rand des allgemeinen Textbereichs hinaus verschoben positioniert waren.

Wenn man ins Detail gehen wollte, könnte man an dieser Stelle noch eine Seite lang über wechselnde Positionen von Absätzen, Tabellen und Tabelleninhalten je nach 3.x-Version von OO berichten. Dafür bin ich heute aber zu müde.

Fazit: Eine bessere QS würde dem OO-Projekt gut tun

Liebes OO-Entwicklungs- und Release-Team! Bitte verbessert eure QS! In produktiven Umgebungen müssen sonst nämlich der Admin oder im schlimmeren Fall die Anwender Beta-Tester für neue OO-Versionen spielen. Das erinnert an MS, kostet einfach zu viele Nerven und verbessert den Ruf von OO überhaupt nicht. Es passt auch nicht zu den vollmundigen “latest und greatest” -Beschreibungen von neuen OO-Releases, die man auf der OO-Website lesen muss.

Ich kann jedem Admin nur raten, sich ein paar Werkstudenten zu holen und jede neue OO-Version gründlich und ausführlich zu testen, bevor er sie produktiv schaltet.
Dabei lohnen sich besonders Tests älterer Dateien und der Blick auf die Formatierung der dortigen Inhalte wie auch Tests von Dokumenten, die mit älteren OO-Version in MS-Formate umgewandelt wurden und nun mit einer neuen OO-Version geöffnet werden.

Einstweilen warten wir bei anracon auf die Version 3.1.1 !

Amarok 1.4 und Xine-Video-Player unter KDE 4.2.95

Beim Einrichten von KDE 4.2 (x86_64) ist mir nun mehrfach folgendes kleines Problemchen untergekommen:

Wenn man Filme mit Kaffeine oder anderen Xine-basierten Playern abspielt, geschieht es ab und zu, dass rote Muster durch das Video-Bild flackern. Dieser Effekt ist außerordentlich störend.
Ein wenig Probieren zeigt: Dies geschieht nur, wenn unter KDE 4.2 “Compositing” mit Hilfe von OpenGL aktiviert ist. Der Effekt tritt dagegen nicht auf, wenn Xrender als Compositing-Engine eingesetzt wird.

Ich dachte bislang, dass das ein Effekt ist, der mit den entsprechenden Grafik-Treibern zu tun hat. (Ich habe den Nvidia-Treiber 185.18.14 am Laufen.)

Das mag auch eine der Ursachen sein – aber nun hat sich herausgestellt, dass der Effekt auf jeden Fall mit Amarok 1.4 verbunden ist. Erst heute ist mir beim Vergleich mehrerer PCs aufgefallen, dass auf den betroffenen Oberflächen immer Amarok 1.4 aktiv war – meist minimiert und nur rechts unten in der KDE 4.2 Taskleiste erkennbar.

Weitere Tests ergaben:
Hat man Amarok 1.4 mit Xine-Backend am Laufen, gleichzeitig OpenGL-basiertes Compositing für KDE 4.2 eingestellt und startet man dann einen Film unter Kaffeine/Mplayer/Gxine/Noatun oder einem anderen Video-Player mit Xine-Backend, so tritt der Fehler auf. Ist Amarok nicht in Betrieb, so gibt es kein Problem.

Merke: Amarok 1.4 mit Xine-Backend komplett schließen, wenn man einen Videoplayer mit Xine-Backend unter KDE 4.2 einsetzt. (Aufpassen, ob Amarok noch in der Statusleiste rechts angezeigt wird).

Hinweis: Mit Amarok 2.1 tritt das Problem nicht auf. Aber Amarok 2.1 ist leider immer noch so unzulänglich, dass ich es nicht einsetzen mag.

64Bit Flash-Plugin von Adobe und Konqueror 4.2.90

Ein kurzer Hinweis wegen einer eben gemachten Erfahrung:

Nach dem Update von KDE 4.2 auf KDE 4.2.90 (Beta-Release von KDE 4.3) und ein paar Änderungen an der parallel vorhandenen KDE 3 Installation funktionierte auf meinem Opensuse 11.1-Arbeitsplatz das 64 Bit-Flash-Plugin von Adobe nicht mehr mit Konqueror zusammen (wohl aber mit Firefox).

Ein Hinweis der KDE-Entwickler brachte die Lösung:
Das RPM für die kde3-gtk-qt-engine (Qt3 !) darf nicht installiert sein!

(Na hoffentlich können alle Leute, die KDE3 noch parallel zu KDE4 verwenden, darauf auch wirklich verzichten.)

Ansonsten gelten für die Installation des 64bit-Plugins die Hinweise meines früheren Artikels.
https://linux-blog.anracom.com/2009/01/26/kurztest-der-64-bit-version-des-flash-plugins-von-adobe/
Im Besonderen darf das RPM für den “nspluginwrapper” nicht installiert sein.

USB-Multicard Reader für Linux

Meine Erfahrungen zu zwei Multicard-Readern, mit denen ich unter Opensuse zu tun hatte:

1. USB 2.0 Multicard Reader von Equip
Der von mir ausprobierte Card Reader wird zwar grundsätzlich erkannt – der Befehl “lsusb” zeigt folgendes Device an :
Bus 008 Device 002: ID 0d8c:5200 C-Media Electronics, Inc. Mass Storage Controller(0D8C,5200)

Das Einstecken einer SD oder Flash-Card bewirkt jedoch rein gar nichts. Ich habe ca. einen halben Tag versucht, Tipps im Internet auszuprobieren. Ohne Erfolg.

Mein Fazit: Dieser Reader ist nichts für Linux. Finger weg davon! Siehe auch
http://www.qbik.ch/usb/devices/showdev.php?id=4469

2. USB 2.0 Multicard Reader von Kingston 19-in-1
Dieses Gerät (Bus 008 Device 004: ID 11b0:6148 ATECH FLASH TECHNOLOGY) funktionierte bei mir auf Anhieb. Unter KDE 4.2 werden beim Einstecken von Flash- oder SD-Cards die USB Mass Storage Module wirksam und die Flashcard wird automatisch als SCSI-Device gemountet – in meinem Fall als /dev/sdc1. Das entsprechende Mountverzeichnis wird bei Suse (je nach Datenträgerbezeichnung) unter dem Directory /media/ angelegt und ist dort leicht zu finden.
Anmerken möchte ich auch, dass die Transferraten des Kingston Multicard-Readers sehr gut sind – jedenfalls besser als die des Equip-Geräts unter Windows XP.
Also : Den 19-in-1 Reader von Kingston kann man nach meinen Erfahrungen problemfrei unter Linux einsetzen.

Opensuse 11, sensors und IT8720

Wer sich – wie ich – ein neueres Board beschafft hat, wird u.U. feststellen, dass die HW-Sensoren ein Kernelmodul zur Unterstützung der  ITE 8720 Super IO Sensors benötigen. Opensuse 11.1 liefert für den 2.6.27-Kernel allerdings nur ein älteres IT87-Modul, das für die neueren Chipsätze nicht ausreichend ist.

Netterweise gibt es ein paar Kollegen, die sich die Mühe gemacht haben, die für den Kernel 2.6.29 bereits erstellten Module auf den älteren Kernel zurückzuportieren und entsprechende RPM-Pakete für den aktuellen Stand des SuSE-Kernels bereitzustellen.
Hier wird man im Internet fündig :

http://forums.opensuse.org/hardware/410081-sensors-ite-it8720-not-working.html

http://download.opensuse.org/repositories/home:/Akoellh/

Das erweiterte IT87-Kernelmodul funktioniert prächtig und kann nach “sensors-detect” in der Datei “/etc/sysconfig/lm_sensors” eingetragen werden – in meinem Fall lauten die Einträge:

MODULE_0=”coretemp”
MODULE_1=”it87″

Natürlich kann man unter Yast2 auch den sysconfig-Editor verwenden. Das entsprechende Startup-Skript “lm_sensors”, das diese Einträge nutzt, findet man natürlich unter “/ect/init.d”.

Vielen Dank an Akoellh !