Spezial-Onlineshop ist gestartet 13 Oktober 2009

RefKSBWebshop

Nach langer Zeit melde ich mich wieder. Es war viel los und gab viel zu tun. Meine jüngste Arbeit ist vor kurzem online gegangen: Der KSB Ersatzteilshop der Eberhardt Group. Das Besondere dabei: Es wurden die Explosionszeichungen des Herstellers eingebunden, auf denen man nun mit der Maus bequem nach bestimmten Ersatzteilen suchen kann inklusive Vergrößern, Verkleinern und Verschieben. Das alles Crossbrowserkompatibel bis runter zum Internet Explorer 6 und mit ganz normalem DHTML realisiert, d.h. kein Flash ist notwendig! Anpassung an das Browserfenster sowie Mehrsprachigkeit ist ja fast selbstverständlich…

Angebunden wurde das ganze an den schon bestehenden Webshop des Auftraggebers. Da dieser wiederum bereits an die Warenwirtschaft angebunden ist, werden im Ersatzteilshop stets die aktuellen Preise und Verfügbarkeiten angezeigt, und es muss kein weiteres Bestellsystem existieren.

Realisiert habe ich das ganze mit dem neuen ASP.NET MVC Framework. Durch die saubere Trennung vom Datenbankmodell (Model), dem HTML-Code (View) und der Programmlogik (Controller) kann die spätere Pflege nicht einfacher sein. Der Datenbankzugriff erfolgt mit LINQ to Entities auf – man höre und staune – MySQL! (Ja, es muss nicht immer der Microsoft SQL Server sein, wenn man von ASP.NET spricht.) Mit dem neuesten MySQL Connector/NET funktioniert das Entity Framework zusammen mit LINQ auf MySQL “like a charm!”

Bad Zwischenahn als Atommüll-Endlager? 28 August 2009

atommuell Hallo? Was ist jetzt denn los? Ich dachte, mein Freund scherzt, als ich seine eMail las mit der Überschrift “Endlager Bad Zwischenahn?”. Aber tatsächlich, wie hier in einem Artikel der Nordwestzeitung zu lesen (auch Google findet über 2000 Ergebnisse beim Begriff “Bad Zwischenahn” und “Endlager”), wurde tatsächlich unser schöner Kurort als Alternative für Gorleben, als Atommüll-Endlager, genannt! Wahrscheinlich wegen den leeren Salzgrotten. Krass!

Also, sollte es wirklich soweit kommen, wird sich sicherlich meine Büroanschrift ändern, ich sag euch dann Bescheid…

table-layout: fixed und Breitenangaben per JavaScript. Google Chrome ignoriert’s? 27 August 2009

Mal wieder 2 Stunden um die Ohren gehauen und ein paar mehr Haare verloren für einen Bug im Google Chrome: Ich arbeite zur Zeit an einem AJAX Javascript-Widget, mit dem der Webseitenbenutzer komfortabel Daten in eine Tabelle eingeben kann, ähnlich wie Google Spreadsheet oder Zoho Sheets (Oder ganz plump: “Online-Excel”.)

Die Tabelle erfordert es, dass jede Zelle exakt so breit ist, wie ich das vorgebe. Dafür setze ich in der <table> also table-layout: fixed, dadurch sind nun einzig und alleine meine CSS-Breitenabgaben der Zellen und der Tabelle ausschlaggebend, der Browser passt also die Zellen nicht mehr dem Inhalt an. Das klappte auch alles bestens. Nur nicht im Google Chrome. Ich konnte machen, was ich wollte, wenn ich die Breiten der Tabelle und Zellen per Javascript (und meinem Liebling jQuery) angepasst hatte, passierte im Chrome einfach nichts. Beim IE (Ich weiß gar nicht, warum soviele über den IE mosern…), Firefox, Opera lief es perfekt…

Es lag letztendlich wie so oft an etwas ganz Einfachem: Im Stylesheet hatte ich für die Tabellen lediglich table-layout:fixed notiert, nicht aber width:, wozu auch, das wird ja von meinem Clientcode gesetzt, da der Wert erst zur Laufzeit bekannt ist. So wie es aussieht, besteht aber Chrome auf das Setzen von width (bereits im Stylesheet), sonst werden alle Breitenangaben per Javascript schlichtweg ignoriert… Merken!

table-layout fixed (Chrome)

Gratis Fonts mit Vorschau 07 Juli 2009

Da ich gerade selbst für ein (noch geheimes) Projekt von mir eine Logo-Schriftart suche, möchte ich hier kurz mal ein paar Links von Seiten mit Free Fonts vorstellen, die mir besonders gefallen, alle bieten eine Live-Preview an, man kann hierbei einen eigenen Beispieltext eingeben und dieser wird dann in jeder Schriftart direkt angezeigt.

  1. http://www.dafont.com – Sehr professionelle Schriftarten
  2. http://www.myfont.de – Leider werden nur 10 Fonts pro Seite angezeigt
  3. http://www.1001fonts.com – War früher mein Favorit, Schriften nicht immer professionell
  4. …to be continued!

Windows 7 – Das bessere Windows? 19 Juni 2009

Auf jeden Fall! Bessere Performance als Vista und – man höre – auch XP, wie Adrian Kingsley-Hughes in diesem Performance-Vergleich herausgefunden hat. In fast allen Belangen hat Windows 7 die Nase vorn. Gemeine Zungen behaupten sogar mittlerweile, dass Windows Vista in Wahrheit eigentlich Windows 7 Beta ist…

Ich habe zu Anfang Windows 7 RC eigentlich nur installiert, damit ich meine aktuellen Entwicklungen auf deren Kompatibilität zur neuen Version testen kann – seit kurzem setze ich es aber sogar als Produktionssystem ein und bin sehr zufrieden. Mich hat überzeugt, dass auch bei Microsoft tausende Entwickler als Ihr Produktionssystem darauf vertrauen:

[...] we know many people (including tens of thousands at Microsoft) are relying on the pre-release builds of Windows 7 for mission critical and daily work  [...] (Quelle: Windows 7-Blog)

Optisch kommt es Windows Vista fast gleich (und ich gebe es zu, wer mag nicht die Aero-Spielereien…), es wurden aber sehr viele Usability-Verbesserungen eingeführt. Dies betrifft zum Beispiel die Taskleiste (Bessere Zusammenfassung von Instanzen einer Anwendung) aber auch die Hierarchie in der Systemsteuerung ist nun logischer und besser gestaltet. Die Installation war ein Klacks – meine Hardware (relativ aktuell) wurde komplett erkannt!

Windows 7

Einziger Wehrmutstropfen: An und ab funktioniert nach Reaktivierung aus dem Ruhezustand meine Netzwerkverbindung nicht mehr, ich bin dann zu einem Neustart gezwungen. Aber es ist ja erst der Release Candidate, von daher habe ich Hoffnung auf Besserung im Final.

Nachtrag: Nachdem ich den Netzwerktreiber für Vista direkt von Atheros installiert habe, funktioniert auch die Netzwerkverbindung nach der Reaktivierung aus dem Ruhezustand!

Safari für Windows – Font Smoothing PC vs. Mac 05 Juni 2009

Wenn ich Webseiten entwickle nutze ich verschiedene Browser um zu testen, ob Anpassungen notwendig sind, da ja meistens jeder (Firefox, Opera, all-mighty IE) irgendwo etwas ein bisschen anders darstellt. Da ich keinen Apple zur Verfügung habe, nutze ich desöfteren www.browsershots.org.Safari Font Smoothing Nun habe ich mal zum Spaß den Safari für Windows bei mir installiert und gleich unter Preferences –> Appearance das Font smoothing aktiviert.

Und auf den ersten Blick gefällt mir die Schriftglättung beim Safari wesentlich besser. Dieser schon etwas ältere Artikel von Joel Spolsky geht auf dieses Thema genauer ein. Letztendlich ist es Philosophie, warum Microsoft pixeliger glättet und Apple glatter.

Apple generally believes that the goal of the algorithm should be to preserve the design of the typeface as much as possible, even at the cost of a little bit of blurriness.

Microsoft generally believes that the shape of each letter should be hammered into pixel boundaries to prevent blur and improve readability, even at the cost of not being true to the typeface.

Letztendlich ist also alles Geschmackssache. Ich werde jedenfalls in Zukunft öfters den Safari benutzen. (Zum Vergleich: Links Safari mit angeschaltetem Font Smoothing, rechts der Internet Explorer mit ClearType.)

 Safari (Font Smoothing) Internet Explorer (ClearType)

Schnellstartleiste verschwunden (Windows XP Quick Launch) 04 Juni 2009

Mir ist das jetzt schon zum mindestens tausensten dritten Mal passiert: Meine Schnellstartleiste war wieder weg. Ich habe das Gefühl, es liegt an der Nutzung von Multiple IEs (Praktisch für Entwickler, um das CSS-Design einer Webseite unter verschiedenen älteren Versionen vom Internet Explorer zu testen.) Jedenfalls immer wenn meine Schnellstartleiste verschwand hatte ich kurz vorher Multiple IEs benutzt, so auch gerade eben…

Beim ersten Mal hatte ich Stunden für das Suchen nach einer Lösung verbracht, deshalb hier nun der Tages-Tipp™ für alle Leidgetragenen:

  1. In den Ordner %AppData%\Microsoft wechseln (%AppData% ist eine Kurzform für C:\Dokumente und Einstellungen\[Benutzername]\Anwendungsdaten.)
  2. Falls nicht vorhanden hier nun den Ordner Internet Explorer anlegen.
  3. In dem Ordner Internet Explorer den Ordner Quick Launch anlegen.
  4. Alle gewünschten Linkdateien in diesen neuen Ordner Quick Launch hineinkopieren.
  5. Nun noch sicherstellen, dass die Schnellstartleiste aktiviert ist:  Rechte Maustaste auf die Taskleiste, “Eigenschaften anklicken”, im folgenden Dialog  Haken bei “Schnellstartleiste anzeigen” setzen.
  6. Jetzt sollten wieder alle Icons erscheinen.

Falls euch jetzt auch noch das “Desktop anzeigen” Icon fehlt (Habe ich sehr liebgewonnen): Einfach eine Text-Datei Desktop anzeigen.scf im Quick Launch Ordner erstellen mit folgendem Inhalt:

[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop

Damit es schneller geht, hier direkt die Datei zum Herunterladen: Desktop Anzeigen.scf

AJAX, JavaScript, jQuery und die sexy Fancybox 30 Mai 2009

Ich war bis vor einem Jahr noch vorsichtig mit dem Einsatz von JavaScript für eine “Rich User Experience”, also direkt reagierende Webseiten, womöglich auch noch mit tollen Effekten, die man durch AJAX so machen kann. Einfach wegen der Angst, dass zu viele Anwender JavaScript & Co deaktiviert haben wegen vermeintlicher Virengefahr.  Ich habe mich ja noch nicht mal getraut, Cookies anzuwenden (Wenn man einmal auf diesen alten Blogeintrag zurückblickt…)

Aber mittlerweile funktioniert ja kaum noch eine aktuelle Webseite ohne aktiviertes JavaScript und Cookies, und das ist auch gut so; denn man kann damit als Entwickler wirklich bessere Seiten bauen und für den Benutzer sind diese Seiten wesentlich besser zu benutzen, mal nicht zu vergessen dass durch die optischen Effekte richtig Spaß auf kommt. Und was die Einschleusung von Spioniercode und Viren angeht: Haben wir nicht alle einen guten Virenscanner on board?

Da war aber noch etwas: Ich habe es regelrecht gehasst, JavaScript zu schreiben: es ist schlecht zu debuggen und jeder Browser brauch seine Extrawurst. Aber es gibt mittlerweile wahnsinnig gute Frameworks, eines davon ist jQuery, es nimmt einem viel Arbeit ab in der Manipulation von DOM-Objekten, Browserweichen sind völlig transparent und Effekte sind von Haus aus dabei (Die Animationen beim Einfügen neuer Kommentare hier im Blog habe ich damit gemacht.)

Und gestern Abend habe ich noch etwas gefunden: die Fancybox. Mein Entwicklerherz schlägt höher! Fancybox ist sozusagen das Highslide JS für jQuery! Das Ergebnis? Einfach mal hier auf das Foto von meinem Sohn klicken! (JavaScript ist doch aktiviert, oder…?) 

Jayden Keanu

Fernleihautomat stellt sich dem Livebetrieb 26 Mai 2009

Die Universitätsbibliothek Karlsruhe hat vor kurzem als weltweit erste Bibliothek einen Abholautomaten für Fernleih-Medien in Betrieb genommen. Die Software dafür haben wieder wir entwickelt, wie schon für den Keylender (Ein Gerät, um Schließfachschlüssel automatisiert auszugeben.) Es besteht auch hier eine direkte Verbindung zum Server des Bibliothekssystems der Universität, um online direkt auf verschiedene Umstände zu reagieren (Automatische Ausgabe der bestellten Medien, Buchung auf das Ausleihkonto eines Studenten, etc.)

Alle Lauscher sind zur Zeit bei uns auf maximaler Empfindlichkeit, denn bei solchen Go-Lives liegt es in der Natur der Sache, dass schnell reagiert werden muss. Aber wir sind Guter Dinge, nachdem wir mit dem Keylender ja schon viel Erfahrung in diesem Umfeld sammeln konnten.

Link zur Bekanntgabe des Go-Live im Uni-Blog.

 fernleihautomat

HTTP-Fehler 500.22 – Internal Server Error – Oder: der integrierte Pipelinemodus im IIS7 08 Mai 2009

Also, mal vorweg: Ich bin begeistert von meinem Server. Wenn man bereits Erfahrungen mit Vista hat, ist die Einarbeitung in Windows 2008 nach einer Stunde erledigt. Ich hatte nur erst einmal länger nach dem IIS gesucht, denn der ist nach einer frischen Installation nicht auffindbar – es muss erst die Serverrolle “Webserver” hinzugefügt werden, danach klappt’s auch mit dem IIS! Aber zum Fehler:

Ich wollte “mal eben” mein Blog von meinem alten Win2k3-Server herüberholen. Also, komplettes Verzeichnis kopiert (Nutze ja zur Zeit in Blogengine.NET nur den XML-Store), im IIS eingerichtet (Geht wirklich fix), DNS-Server mit neuer IP versorgt und aufgerufen (vom Büro aus). Ich wurde dann hiermit begrüßt:

500 - Interner Serverfehler IIS7

Direkt aufgerufen auf dem Server sah das ganze dann schon anders aus:

IIS7 Error 500.22

Und genau hier fangen schon die Vorteile vom IIS7 an: Es werden verschiedene Lösungsansätze vorgeschlagen! Und direkt der erste hat geholfen:

Migrieren Sie die Konfiguration in dem Abschnitt "system.webServer/modules". Sie können dies manuell oder mit dem Befehl "AppCmd" an der Befehlszeile durchführen. Beispiel: %SystemRoot%\system32\inetsrv\appcmd migrate config "Default Web Site/". Wenn Sie zum Migrieren der Anwendung den Befehl "AppCmd" verwenden, funktioniert diese sowohl im integrierten Modus als auch im klassischen Modus sowie mit früheren Versionen von IIS.

Sollte dieser Fehler in einer anderen als der Standardwebsite auftreten, muss anstatt “Default Web Seite/” natürlich der Name der entsprechenden Website eingetippt werden. Die “Migration” sorgt u.a. dafür, dass in meinem Fall die httpHandlers und httpModules Einstellungen in die Untergruppe <system.webServer> kopiert werden.

Und direkt nach dem Befehl (Auszuführen in der DOS-Box) funktionierte wieder alles! Klasse!

Info: Ich hätte auch in den “IIS6-Kompatibilitätsmodus” schalten können. Mir würden dann allerdings einige Vorteile des IIS7 entgehen, denn bei der neuen “integrierten Pipeline” ist ASP.NET nun endlich in den IIS fest eingebunden, was u.a. für eine bessere Performance und Stabilität sorgt.