TYPO3-Extension sm_employeelist finished and published

It took me quite a long time but now I have finished my TYPO3-extension sm_employeelist. Everybody feel free to download it from the TER: sm_employeelist in the TER.

Because TYPO3.org has problems converting the extensions’ manuals at the moment, I will give you a short overview about what my extension can do for you 😉

  • The extension sm_employeelist manages a company’s employees (the TYPO3 front end users), departments (TYPO3 front end user groups), positions and telephone numbers.
  • You can create a bunch of nice lists, e.g. a telephone list, presence list, image list etc.
  • Every employee has its own details page with his stats, image etc.
  • Here are some screenshots:
    • A simple employee list
      employeelist_employeelist.jpg
    • A department list (sorted by employees’ priorities)
      employeelist_departmentlist.jpg
    • A (printable) telephone list
      employeelist_telephonelist.jpg
    • An employee’s details page (no, these are not my real stats ;))
      employeelist_employeedetails.jpg
    • Configuration of the extension in the TYPO3 back end
      employeelist_configurationbackend.jpg

Looks nice, huh? 😀

If you want, you can contact me with wishes/suggestions for the next version of the extension. This is the first release and the extension is still under heavy development…

(Thanks to Benjamin Keen for his Data Generator and the Tango Desktop Project for their nice icons.)

Datumsangaben vor 1970 in TYPO3

Verdammt. Da habe ich mich wohl zu früh gefreut. Wie ich in einem früheren Artikel erwähnt hatte, kann TYPO3 bekanntlich keine Datumsangaben vor 1970 speichern. Das ist nicht gut, da ich z.B. für Geburtstage in meiner Extension eben solche Datumswerte benötige. Damals hatte ich geschrieben, dass ich anstatt des Datumsfeldes einfach ein String, advanced verwendet habe, und dies mittels 'eval' => 'date' in ein Datum umwandeln lasse. Dummerweise erzeugt auch dieses Vorgehen nur Daten ab 1970 🙁 Da habe ich wohl glatt den Test vergessen 😉

Naja, zumindest fiel mir das heute auf (bin gerade dabei alles fertig für den Upload ins TER zu machen) und das musste natürlich gefixt werden. Meine Lösung ist nun wie folgt. Da ich intern sowieso nur mit Timestamps rechne, brauchte ich nur die Eingabefelder auf String zu ändern und eine Funktion anzulegen, um diese in Timestamps umzuwandeln. Ersteres geht wie folgt in der Datei ext_tables.sql: CREATE TABLE fe_users ( tx_smemployeelist_birthday varchar(10) DEFAULT '1900-01-01' NOT NULL, tx_smemployeelist_firstentry varchar(10) DEFAULT '1900-01-01' NOT NULL );

Und meine Funktion zum Umwandeln der Strings in Timestamps sieht so aus (implementier als statische Methode meiner “Hilfsmittel-Klasse”):
/** * Converts a string of format YYYY-MM-DD into a UNIX timestamp. * * @param string Date string of format YYYY-MM-DD. * @return int UNIX timestamp for given date. */ public static function ConvertToTimestamp($date) { // check whether given string is of the right format $matches = array(); if (preg_match('/^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})$/', $date, $matches)) { return mktime(0, 0, 0, $matches[2], $matches[3], $matches[1]); } else { return 0; } }

Offene Dateien unter Windows anzeigen

Neulich hatte ich das Problem herausfinden zu müssen, welches Windows-Programm eine bestimmte Datei in Beschlag hatte. Diese konnte nämlich bei der nächtlichen Sicherung nicht kopiert werden, da ein anderer Prozess sie geöffnet hatte.

Das Problem lässt sich recht einfach mit dem Process Explorer lösen, einem Werkzeug von Sysinternals, die nun auch zu Microsoft gehören (bzw. von Microsoft übernommen wurden).

Der Process Explorer besteht aus einer einzigen EXE-Datei, die direkt nach dem Start eine Liste aller laufenden Prozesse anzeigt. Nach einem Klick auf Find – Find Handle or DLL kann man in das Suchfeld den Namen der gewünschten Datei eingeben und erhält promt den Namen des Prozesses, der diese geöffnet hat:

Process Explorer: Find Handle or DLL
Process Explorer: Find Handle or DLL 2

Index erstellen im LaTeX Editor (LEd)

Für meine letzten Arbeiten (und auch für die baldige Diplomarbeit) an der FHWT bin ich vom TeXnicCenter auf den LaTeX Editor (oder kurz: LEd) umgestiegen. Der bietet nämlich im Gegensatz zum TeXnicCenter Code Completion (auch bei Quellenangaben etc.), was die Arbeit deutlich vereinfacht.

Leider ist er bei anderen Funktionen nicht ganz so komfortabel. Man muss z.B. ständig die Erstellung des Index oder die Neugenerierung von BibTex manuell starten. Das muss auch komfortabler gehen, dachte ich mir, und ging auf die Suche. Das Erstellen von PDF-Dateien mittels pdflatex, sowie die anderen beiden Funktionen, wird über Batch-Dateien (zumindest unter Windows) geregelt, die unter %PROGRAMFILES%\LEd\batches liegen. Dort habe ich zunächst einmal die Datei makeidx.bat angepasst, da die Indexerstellung bei mir nicht klappte. Der neue Inhalt sieht so aus (zur Syntax siehe auch diesen älteren Beitrag von mir):
makeindex.exe %2.nlo -s nomencl.ist -o %2.nls
Dadurch wurde schonmal der Index vernünftig erstellt. Nun musste ich nur noch den Aufruf von makeidx.bat, BibTeX.bat und PdfLaTeX.bat in einer der userX.bat mit aufnehmen, und schon kann ich mittels eines einfachen Drucks auf den der entsprechenden User-Bat zugewiesenen Hotkey alle benötigten Kompilierungen hintereinander durchführen:
call "%PROGRAMFILES%\LEd\batches\bibtex.bat" %1 %2 %3 call "%PROGRAMFILES%\LEd\batches\makeidx.bat" %1 %2 %3 call "%PROGRAMFILES%\LEd\batches\pdflatex.bat" %1 %2 %3

Boxplots mit Excel erstellen

Als kleine Programmieraufgabe im Fach Statistik sollten wir das Erstellen eines Boxplots in Excel umsetzen.

Ich habe das Ganze (mit den eingeschränkten Möglichkeiten von VBA) objektorientiert gelöst. Das fertige Add-in kann man recht einfach über Extras – Add-ins installieren. Es fügt Excel ein kleines neues Menü “Statistik” hinzu, das genau eine Funktion beinhaltet:

Boxplots mit Excel: Das Statistik-Menü

Diese öffnet ein simples Formular, in das man die benötigten Werte einträgt (es wird nur das erste Feld, der Wertebereich, benötigt):

Boxplots mit Excel: Das Eingabeformular

Nach einem Klick auf Berechnung wird dann ein Boxplot wie der folgende erstellt:

Boxplots mit Excel: Das Klassendiagramm

Wer sich für die technische Umsetzung interessiert, der kann sich hier mein (nicht gerade sehr umfangreiches und auch nicht vollständiges) Klassendiagramm anschauen. Die Lösung ist sicher noch zu verbessern, aber Hauptsache ist, dass sie unabhängig von einer konkreten Arbeitsmappe einsetzbar ist (als Add-in) und funktioniert 😉

Boxplots mit Excel: Das Klassendiagramm

Download

Herunterladen kann man sich meine Lösung auch gerne:

Installation

Unter Excel 2003 sollte sich das AddIn selbst installieren, wenn man die XLA-Datei öffnet und man die Ausführung von Makros erlaubt.

Unter Excel 2007 kann man das AddIn wie folgt installieren:


  1. Boxplots mit Excel 2007 - Schritt 1

  2. Boxplots mit Excel 2007 - Schritt 2

  3. Boxplots mit Excel 2007 - Schritt 3

  4. Boxplots mit Excel 2007 - Schritt 4

  5. Boxplots mit Excel 2007 - Schritt 5

  6. Boxplots mit Excel 2007 - Schritt 6

  7. Boxplots mit Excel 2007 - Schritt 7

Ausbildungsplatz zum Fachinformatiker für Anwendungsentwicklung zum 01.08.2007

Ich stelle das jetzt einfach mal ohne Worte online 🙂

Naja, nicht ganz: Also, wer zum 01. August dieses Jahres noch eine Ausbildung zum Fachinformatiker Fachrichtung Anwendungsentwicklung in Vechta machen möchte, kann sich bis zum 10. März 2007 bei der ALTE OLDENBURGER Krankenversicherung bewerben.

Die zugehörige Anzeige aus der OV gibt’s auch noch:

Ausbildung zum Fachinformatiker 2007

Wer weiß, vielleicht sind wir dann bald schon Kollegen 😉

Gothic 3 ist durch

Tja, wofür andere nichtmal eine Stunde brauchen, dass schaffe ich in knapp 4 Monaten: Ich habe endlich Gothic 3 durch 🙂

Aben wenn schon, dann richtig! Somit habe ich gleich 2 der 3 möglichen Ausgänge gespielt. Zuerst habe ich mich für Xardas’ Weg entschieden und danach für den Weg Innos’. Beliars Weg war mir zum Zeitpunkt meines letzten Savegames leider schon versperrt (ich hatte Zuben leider schon getötet :().

Ein wenig enttäuscht vom Ende bin ich schon. Nichtmal ein vernünftiges Video gibt’s, sondern nur so lahme Bildererzählungen… Und bei den beiden verschiedenen Ausgängen wurden lediglich die Texte zu den Bildern geändert. Das ist wirklich schwach 🙁

Trotzdem hat es ja letztlich doch viel Spaß gemacht, Gothic 3 zu zocken, obwohl ich wie viele Andere auch der Meinung bin, dass die Athmosphäre nicht ganzt so dicht ist, wie bei den ersten beiden Teilen. Aber mit dem neuen PC lief wenigstens die Grafik vernünftig. 1680×1050 mit vollen Details ruckelfrei (na gut, bis auf das Nachladen von der Festplatte ;))

Mhh… soll ich jetzt noch den dritten Weg durchspielen? Lohnt es sich, neu anzufangen? Ich habe den Weg der Magie gewählt, was mir die Sache gerade gegen Ende des Spiels deutlich vereinfacht hat: 3-4 Feuerregen und Massen von Orks sagten Gute Nacht! Mich reizt ja schon noch der beidhändige Kampf mit 2 Schwertern… und böse wäre ich auch gerne 👿 hehe

Aber vielleicht sollte ich mich lieber mal meinem Roman widmen, der hier noch so rumliegt: Love von Stephen King. Habe erst 150 Seiten geschafft, und langsam wird’s spannend. Abends nach dem Lesen nochmal schnell ins Bad zu gehen, wenn alles dunkel ist, kann ganz schön ängstlich machen 😉

Upgrade auf Windows Vista?

Ich hadere noch, ob ich schon auf Vista umsteigen sollte, oder nicht… Ersten Kontakt mit der Oberfläche hatte ich bereits. Man muss sagen, es ist anders, aber besser. Viele nette Funktionen, die das Leben leichter machen. Aber 170 Euro sind halt auch ne Menge Holz für die Ultimate Edition. Und eine kleinere Version wäre meines Erachtens Schwachsinn, da man sonst ständig irgendeine Funktion braucht, die die aktuelle Version nicht hat (siehe Windows XP Home).

Naja, auf jeden Fall hat Apple direkt auf die Vista-Einführung reagiert und neue “Get a Mac“-Spots veröffentlicht. Wie immer sehr witzig 😀

Fehlgeschlagene Windows-Updates

In letzter Zeit häuften sich auf einigen PCs Probleme mit Windows-Updates. Es kam folgende lustige Meldung beim Systemstart oder beim Versuch, die Updates manuell zu installieren:
Die Anweisung in "0x745f2780" verweist auf Speicher in "0x00000000". Der Vorgang "read" konnte nicht auf dem Speicher durchgeführt werden.
svchost.exe

Laut Microsoft Knowledge Base 916089 kann dieses Problem bei PCs mit Microsoft Office auftreten (und das war bei uns auch der Fall). Nunja, da ich nicht schon wieder den Microsoft Support belasten wollte, von dem man laut KB einen Patch für das genannte Problem bekommen kann, habe ich einfach die folgenden Schritte durchgeführt, um die Updates trotzdem zu installieren:

  1. net stop wuauserv
  2. rmdir /s /q %SYSTEMROOT%\SoftwareDistribution
  3. net start wuauserv
  4. wuauclt /resetauthorization /detectnow

Dadurch wird ausgelöst, dass der PC seine Windows-Updates (die unter %SYSTEMROOT%\SoftwareDistribution abgelegt werden) komplett neu vom Update-Server (bei uns ein WSUS-Server) ziehen muss. Die Fehlermeldung wurde nämlich anscheinend durch fehlerhafte Updates ausgelöst…

LG L204WT

Wo ich schonmal dabei bin und eine neue Kategorie Produktbewertung aufgemacht habe, kann ich ja auch endlich mal was über meinen neuen Monitor schreiben, einen LG L204WT.

In den ersten Tagen habe ich mir noch Gedanken gemacht, ob es richtig war, einen Widescreen-Monitor zu kaufen, da er zwar breiter, aber halt nicht so hoch ist, wie ein normaler 4:3 Monitor. Aber inzwischen bin ich voll und ganz zufrieden damit. Zwar sehen Spiele (wie z.B. auch Gothic 3) waagerecht irgendwie gestreckt aus, da sie wohl nicht so ganz mit dem 16:10 Format klarkommen, aber den zusätzlichen Platz am Rand des Bildschrims z.B. bei der Bildbearbeitung oder in IDEs wie Visual Studio oder eclipse will man nach kurzer Zeit nicht mehr missen. Endlich kann ich die Projektbrowser/Klassenstruktur vernünftig sehen und habe trotzdem noch viel Platz für den Sourcecode 🙂

Und die Reaktionszeit des LG-Gerätes ist auch absolut genial. Keine Schlieren und nichts bei Videos oder Spielen. Aber der absolute Knaller ist die Helligkeit mit einem Kontrast von 2000:1. Ich habe die über das Menü auf 50% gestellt und der Raum wird quasi trotzdem noch nebenbei mit beleuchtet. Wahnsinn, wie hell das Teil ist…

Also im Gegensatz zum Canon Drucker kann ich den LG-Monitor nur empfehlen!