Montag, Dezember 10, 2007

Endlich MCAD

Nach dem ich die letzte Prüfung zum MCAD über 2,5 Jahre hinaus geschoben habe, habe ich die Prüfung vor wenigen Stunden bestanden. Ich bin endlich ein MCAD! Die Prüfung enthielt schon einige echt … Aufgaben, aber zum Glück auch typische Webservice-Fragen, so dass ich die Prüfung mit 920 Punkten geschafft habe.

Nächstes wird eine der beiden Upgrade-Prüfungen für den MCPD sein, entweder 70-551 für Web-App oder 70-552 für Windos-App sein. Mal schauen, aber vermutlich werde ich die Prüfung noch innerhalb der Gültigkeit des „Second Shot“ machen.

Donnerstag, Dezember 06, 2007

Zum Nikolaus was kleines

Eigentlich wollte ich nix schreiben, aber da Nikolaus ist, habe ich mich nun dazu durchgerungen etwas zu schreiben.

Ich habe fast nix zum Nikolaus bekommen. Fast, weil eine gute, alte (sieht attraktiv aus und ist jünger als ich) Freundin mir eine nette, lustige SMS geschrieben hat. Ich hätte auch gern jemanden einen schönen Nikolaus gewünscht, am liebsten auch was Kleines geschenkt. Leider habe ich versprochen sie nicht mehr zu belästigen und nun kann ich ihr nicht mal was schreiben. Dieses Schicksal wird mich noch 1 Monat bis Ende Januar begleiten. Ich will sie einfach nicht nerven. Ich war heute mal draußen, das ist deshalb so ungewöhnlich weil ich mich die letzten 3 Tage in meiner Wohnung verkrochen habe und nicht mal raus wollte.

Urlaub ist echt hart. Ich hab allerdings auch mal etwas Zeit, in der ich an was anderes denke, bzw. keine Zeit habe an sie zu denken. Meistens ist das, wenn ich CoD4 zocke. Leider kann ich mich da nicht länger als 2h am Stück vor hocken, weil ich sonst einen riesen Schädel habe. Ich werde morgen meinen Schädel weiter bearbeiten.

Montag, Dezember 03, 2007

Smart Client Software Factory Erfahrungen

Nun endlich mal was zu dem Thema SCSF.

Wer die SCSF installieren möchte, der sollte dafür am besten eine VM nutzen. Man benötigt einiges an Beta-Software für den Client. Unbedingt auch die Versionen beachten. Es könnte sonst passieren, dass nicht viel geht. Aktuell ist das Mai 2007 CTP Release, dazu benötigt man:

·         Guidance Automation Extensions

·         Guidance Automation Toolkit

·         Optional VS2005 Extensions für .NET 3.0

Gute Arbeit leistet aber der Dependency Checker, der bei der SCSF mitgeliefert wird. Alle notwendigen Downloads werden vom Checker geprüft und die Links zur Verfügung gestellt.

Wer eine Installation unter Visual Studio 2008 wagen möchte, der sollte mal im Blog von Ezequiel Jadib vorbeischauen. Der Post ist allerdings für Orca Beta 2, wer etwas Ahnung hat, der sollte sonst aber auch keine Probleme haben. Ich habe das nicht ausprobiert, da ich wie oben geschrieben hab, die Installation in einer VM durchgeführt habe.

Die Hands on Labs (HOL) sind leider auch noch in einer Beta Phase und noch nicht komplett, aber um einen Einstieg zu erhalten, sind sie super.

Als Anwendung bieten sich eigentlich alle Anwendungen an, die im Intranet eines Unternehmens ausgeführt werden. Durch die saubere, manchmal auch etwas aufwendigere, Aufteilung und Entkopplung können Module leicht auf Veränderungen reagieren. Die Entkopplung ist bereits in vielen anderen Factories enthalten und ist definitiv für eine verbesserte Wartbarkeit durchzuführen.

Dies ist jetzt mein 3. Oder 4. Anlauf, wenn ich die CAB-Versuche mit zähle, mich in die Materie und Verwendung einzuarbeiten. Man sollte sich dafür durchaus 20h Zeit nehmen und einfach die HOLs von vorn bis hinten durchgehen. Bevor danach die Arbeit losgeht, sollte man sich aber noch mal Gedanken, wie bei jedem Projekt, über die Module machen. Ebenso ist es wichtig die Aufteilung/Layout des SCSF-Workspace zu beachten.

Ich werde mich das nächste Jahr weiter mit verschiedenen Modulen beschäftigen, unter anderem ein Modul zum Bearbeiten einer SVN-Authz-Datei und zur besseren Pflege von Stammdaten in unserem Unternehmen. Die für mich interessanteren Stammdatenpflege-Module sind unsere Mitarbeiterkontakte und die Projektdaten. Wer jetzt schreit Kundendaten kann er auch noch machen, wenn er schon Mitarbeiterdaten entwickelt, der irrt aus meiner Sicht. Kundendaten sind wesentlich Komplexer und werden vermutlich in anderen/mehreren Datenquellen abgelegt. Mitarbeiter Informationen sollten alle aus dem Active Directory kommen. Natürlich muss man dafür das AD-Schema evtl. erweitern. Mal schauen, wie schwierig es wird alle Daten in das AD zu überführen. Allerdings bedarf es vor dem Beginn der Mitarbeiterpflege einiger Nachforschungen der Informationen der Mitarbeiter.

Ich werde den Service zum ändern der SVN-Authz-Datei, sobald er fertig ist hier zur Verfügung stellen. Momentan ist das Laden implementiert, dies ist allerdings noch nicht bis ins kleinste getestet, was auch noch eine Weile dauern wird. Momentan will ich es einfach zum Laufen bringen.

Donnerstag, November 22, 2007

Sharepoint - Einträge werden nicht gespeichert | VS2008

Ich hatte die Woche oder besser schon letzte Woche Freitag ein zuerst sehr seltsames Verhalten im Sharepoint. Sämtliche Eingaben in Sharepoint-Felder wurden nicht gespeichert. Einträge wurden nicht verändert. Beim Anlegen eines neuen Eintrags wurden leere Sätze in den Sharepoint-Listen abgelegt, Nutzer konnte ich nicht Berechtigen, weil die Sicherheitseinstellungen von einer Seite zur nächsten verloren waren, geänderte Datensätze enthielten nur die Ursprungsdaten. Zu dem kam aber hinzu, dass Sharepoint sauber eine Version für Versionierte Einträge erstellt hat und dass es zu keinem Fehler kam.

Ich habe den ganzen Montag bis spät Abend damit zugebracht, diesen Fehler zu finden. Ich habe schon an mir gezweifelt, ich habe die Log-Files X-mal kontrolliert, habe meinen Server durchgestartet, die Sharepoint-Site angelegt, … Als ich den Master und die Default-Seite mit einer funktionierenden Seite austauschte, es war kaum zu glauben, es funktionierte dann. Der Kluge Informatiker folgert doch daraus, dass an mindestens einer der beiden Seiten liegt. 1 Schritt zurück, nur die default.aspx aus der funktionierenden Seite verwendet, getestet, gleicher Fehler. Ich habe dann noch 3h die beiden Master verglichen, habe Schrittweise Elemente hinzugefügt und entfernt, alles ohne Erfolg.

Meine Hoffnung Schwund den Fehler noch zu finden, aber dann … … in der Master-Page stand das Attribute EnableViewState für die Page angegeben. Ohne dieses Attribute (im Status „false“) funktionierten Listen wunderbar. Ich habe nach dem erfolgreichen Durchlauf die Version mittels Source Control zurück gerollt und das Attribut entfernt. Sämtliche Funktionen waren IO.  Wo bitte ist denn das Dokumentiert, dass Sharepoint den ViewState zwingend erfordert? Ich weiß es nun werde nie wieder in eine Sharepoint-Master-Page EnableViewState reinschreiben.

Nach dem VS2008 nun endlich Released wurde habe ich es sofort installiert. Gegenüber dem Vorgänger habe ich erstmal nicht die großen Unterschiede festellenkönnen. Nach dem ich mein Projekt allerdings compilierte, musste ich feststellen, dass die Compilierung wesentlicher schneller war als im VS2005. Heute morgen habe ich dazu auch einen Block-Post gelesen, in dem beschrieben wurde, dass MSBuild 3.5 einige wesentliche Verbesserungen bzgl. der Performance enthält. Muli-targeting Feature ist vermutlich das beste am neuen Studio, weil dieses Feature kommt alten und neuen Projekten zugute.

Dienstag, November 20, 2007

VS 2008 Released

Für alle Abonenten der MSDN ist seit heute Visual Studio 2008 verfügbar. Diesmal wird allerdings für den Download nicht der Microsoft Transfer Agent benutzt, sondern eine andere separate Anwendung. Der Download ist nur über die Startseite zugänglich.

Über die Neuerungen wurde schon viel geschrieben, jetzt ist es Zeit das herauszufinden.

Sonntag, November 18, 2007

MVC-Pattern Ausblick / Essential Windows Workflow Foundation

Die Woche bring ich mal nix von mir, sondern hab ein sehr interessantes Framework gefunden, dass „demnächst“ Released werden soll. Das MVC-Pattern für ASP.NET ermöglicht Testbaren, einfachen Web-Code. Leider ist momentan noch nicht mal eine CTP verfügbar. Ich kann euch aber nur den Post von ScottGu empfehlen, in dem er wunderschön das Vorgehen und die Möglichkeiten erklärt. Ach ja, vielleicht auch noch den Einführungsblog. Momentan ärgert mich, dass ich das nicht schon im August nutzen konnte. Aber nun gut.

Ich bin gespannt, ob das Pattern viele der momentan in .NET gängigen Web-Programmierungen ersetzt und die ganze Web-Applikation besser testbar macht. Ich vernachlässige selber allerdings auch extrem die Tests von meinen Web-Apps. Es schreibt sich so schwer ein Unit-Tests, oder man braucht wieder 3-4h um sich darin einzuarbeiten.

Hier mal noch eine Buchempfehlung: Essential Windows Workflow Foundation aus der Addison Wesley .NET Development Series. Das Buch ist wirklich sehr gut und auch sehr verständlich erklärt. Nun leuchten meine Augen und ich will meinen ganzen Workflow-Code umschmeißen. :D Das war früher, heute ist mir bewusst, dass es etwas viel zu tun wäre und ich nicht gleich damit anfange, sondern erstmal zu Ende lese und dann überlege, was sinnvoll ist. In meinem Code sind sehr viele Aufräumaktionen notwendig. (Ich glaube das kennt jeder.)

Samstag, November 17, 2007

Urlaub kommt

Diese Woche war seit langem mal wieder was los. Ich war mit vielen Kollegen Bowlen. Ursprünglich waren 2h angesetzt, es wurden allerdings 4h. Ich hab die ganze Zeit ohne Rechner durchgehalten. War wirklich eine gute Aktion, zudem war es eine hervorragende Ausrede mal zeitiger das Büro zu verlassen. Vermutlich wird es diesen Winter noch mehr geben, aber bis Weihnachten bin ich wahrscheinlich nicht mehr dabei, sofern ich eine Reise finde.

Womit ich momentan schon bei meinem momentanen Highlight-Thema bin. Ich werde diese Woche in Urlaub gehen. ES fehlt noch ein GoLive und 2 Arztbesuche. Ich habe grad schon mal nach einer Reise geschaut. Hab sogar etwas gefunden. Eine Reise in die Karibik. Mal schauen, ob ich mich zu sowas durchringen kann. Waren nicht in der Karibik immer Hurrikans?

Diese Woche noch fleißig sein, dann Übergabe machen und den Rechner nur noch für Fortbildung nutzen. Ich muss nochmal mit meinem Chef reden, weil ich nur eine Prüfung mache, wenn ich einen Punt bekomme, andere Kollegen bekommen das auch für eine Prüfung. Vielleicht würde ich dann noch eine Prüfung machen. Gebraucht würden die Punkte schon.

Sollte ich nicht in den Urlaub fahren, so habe ich zumindest eine Menge Zeit über das Jahr nachzudenken. Das erschreckende ist eigentlich nur, dass wenn ich den Urlaub durch hab, dass dann schon Weihnachten ist und noch schlimmer Neujahr ist. Aber bis dahin kann ich noch viele Dummheiten gemacht.

Sonntag, November 11, 2007

Urlaub rückt näher

Ich versuche immer wieder etwas an der Woche zu finden, was sich zu bloggen lohnt. Allerdings habe ich (arbeiten) weggelassen eigentlich auch nix gemacht. Ein Thema auf das ich mich so langsam mal vorbereiten muss, ist mein Urlaub. Tatsächlich, ich habe so etwas. Leider habe ich noch keine Lust auf Urlaub. Wenn ich mir überlege, ob ich wegfahre, komme ich immer wieder zu dem Schluss, dass ich nicht alleine irgendwo hinfahren will. Vermutlich werde ich einfach meinen Urlaub nutzen um Zertifizierungen zu machen, dafür muss ich aber erstmal noch mit meinem Chef diskutieren, ob 1 Prüfung ein Punkt ist. Nur noch 2 Wochen, bis der Urlaub los geht. Dann werde ich bis Weihnachten im Urlaub sein und zwischen Weihnachten und Neujahr in der Firma den Support übernehmen. Ist schon erschreckend, dass das Jahr gleich vorbei ist. Der Gedanke ist schon schön quasi nicht mehr arbeiten zu gehen dieses Jahr.

Ansonsten versuche ich mir immer noch zu erklären, was ich alles falsch gemacht habe in meiner letzten Beziehung. Mir geht das einfach alles nicht aus dem Kopf. Ich verstehe einfach gar nicht, was alles abgelaufen ist. … [gekürzt]

Am Donnerstag habe ich mir Call of Duty 4 gekauft. Nicht mal beim zocken konnte ich nicht an sie denken, aber es war weniger. Soviel wie am Freitag habe ich schon seit Jahren nicht mehr gespielt, aber mal ist das OK.

Diese Woche ist Go Live und „Kollegen“-Bowlen. Ich bin kein Bowling Fan aber freue mich trotzdessen schon drauf.

Schönen Sonntag!

ASP.NET / Sharepoint XHTML-Conformance

Die Woche habe ich mich mal mit dem Thema XHtml-Conformance beschäftigt. Eigentlich war das Thema eher so ein nebenbei Thema, prinzipiell ging es eigentlich um das Parsing und Anzeige verhalten der Browser. Wie die meisten sicherlich wissen dürften, haben „unsaubere“ Webseiten mit vielen Syntaktischen Einfluss ein negativen Einfluss auf die Performance und unter Umständen sogar auf die Anzeige. Mich hatte bei einer Sharepoint-Seite sehr gewundert, dass Elemente die ich als Syntaktisch richtiges Xml geschrieben habe, als Tags ohne schließen gerendert wurden. Hat man sich mal den Code der gerenderten Seite angeschaut, so sieht man noch viele andere solcher Stellen.

Nach etwas Recherche in der MSDN fand ich eine Möglichkeit zumindest das Rendering der ASP.NET-Seite oder Sharepoint-Seite umzustellen.

<system.web>

<xhtmlConformance mode="Transitional"/>

</system.web>

Das XHtml-Conformance-Element einfügen und den Modus beliebig einstellen. Es gibt Strict, Transitional und Legacy. Vermutlich ist im System.Web-Block noch einiges mehr enthalten, vor allem im Sharepoint ist das garantiert. Mittels der Einstellung sieht der gerenderte Code deutlich besser aus. Sharepoint generiert aber viele nicht Standardisierte Attribute auf Elemente, die zumindest zu Warnungen führen.

Freitag, November 09, 2007

Nach der heutigen Entscheidung zur Vorratsdatenspeicherung hier ein Post Off-Topic. Stoppt die Vorratsdatenspeicherung!

Dienstag, November 06, 2007

Sharepoint Site online

Juupppii, gestern ging die 2. auf SharePoint-basierende Webseite Online. Ich wollte den Post wenigstens noch heute rausbringen, bin vor 30min erst rein. Wer sich auch die Seite anschauen möchte, der kann unter http://ersatzteile.callparts.de sich Autoersatzteile suchen.

Jetzt ist die 3. Site dran. Vermutlich wird die nächste Woche Live gehen.  Nun noch bisschen ablenken und dann morgen wieder kräftig ranklotzen. Ich werde auch einen Post machen, sobald die nächste Seite online ist.

Der extreme Zeitdruck hilft wenigstens meine Privaten Sorgen etwas zu verdrängen, wenn auch nicht genügend.

Einen schönen Abend!

Sonntag, November 04, 2007

Viel zu tun, ...

Mal wieder eine Woche überstanden. Die Woche war schon wieder echt typisch. Ich habe nach Monaten es endlich geschafft meinen Urlaub einzureichen. 2 Tage späte hieß es, dass man evtl. noch mal drüber reden muss, wegen Projekt. Alles in allem wieder mal sehr interessant.

Mein momentanes Projekt macht Fortschritte und nun soll alles ganz schnell gehen. Morgen und am 15.11. sind die 2 Release dates für die beiden Komponenten. Für morgen sieht es sehr gut aus. Den anderen Teil muss ich erstmal beginnen.

Ich überlege schon 2 Tage, wie ich die Email weiter schreibe, mir fehlt aber immer noch eine Eingebung. Momentan würde ich mich am liebsten in der dunkelsten Höhle vergraben. Die Woche hatte ich 2mal das Thema Frauen und Kinder. Viele Frauen wollen Kinder nicht vor 30. Ok gut für mich, aber eigentlich ist doch schön, wenn die Kinder da sind, bevor man 30 ist, oder? Mein letzter Diskobesuch ist schon etwas länger her, eigentlich müsste ich mal hingehen um andere Frauen zu sehen und vielleicht auch mal an eine andere Frau zu denken. Bis jetzt habe ich mich dazu einfach nicht aufraffen können. Ich würde gerne mal in Tierpark gehen, oder spazieren gehen, aber alleine bewege ich mich nicht raus. Kaum eine Stunde, in der ich nicht an die Eine denke. Mein Schlaf ist in den letzten 2 Wochen wieder richtig schlecht.

Samstag, Oktober 27, 2007

Schlafen, Fahren, Arbeiten

Ich versuche nun schon so lange meine Gefühle etwas in der Griff zu bekommen. Allerdings habe ich bis jetzt noch keine Verbesserung für mich empfunden. Ich versuche mich derzeit einfach nur hinter richtig viel Arbeit zu verstecken, ich denke, dass man langsam auch die Erscheinungen merkt. Ich fühle mich richtig erfolgslos. Momentan habe ich nicht das Gefühl, dass irgendwas richtig läuft. Auf Arbeit läuft es nicht schlecht und ich habe viel Spaß, aber Privat ist immer noch nur eine Katastrophe oder eher eine Ruine. Ich kann nicht aufhören an sie zu denken und alles was ich versuche macht es schlimmer. Ich sehe irgendwie keine Fortschritte. Andererseits bin ich der einzige, der etwas Ändern kann. Aber ich habe selber nicht mal die leiseste Ahnung, was ich jetzt will. Ich weiß eine Sache, nur …

Ich habe allerdings die Woche einen uralten Kollegen getroffen, was für mich schon ein nettes Erlebnis war. Ich habe den Kollegen völlig aus den Augen verloren. Es war sehr angenehm sich mit dem Kollegen zu unterhalten.

Heute war es auch wieder ein langer Tag, ich hatte 2 Meetings. Das 1. zum Thema unseres Microsoft Development, WIX, Sql Server BI. Das Meeting hat sich ganz schön gezogen und letztendlich haben wir nicht mal den Pflichtteil geschafft. Hier sind die Folien, die ich zum Thema WIX/Paketierung erstellt habe. Das 2. Meeting war das Company Meeting unserer Mutter, was wieder vieles organisatorisches Behandelte, letztendlich etwas langanhaltend, das für mich vieles Bekannt war. Anschließend gemütliches Abendessen mit den Kollegen.

Ich bin grad im Zug und fahre zu meinen Eltern. Am Wochenende ist Geburtstagsfeier von 2 sehr guten Freunden (Freundin und Freund). Vielleicht kann ich mich da etwas ablenken. Ich habe die beiden und auch andere schon lange nicht mehr gesehen. Noch 1,5h fahren, mal schon, was ich technisches so geschrieben bekomme.

Visual Studio 2008 / .NET 3.5

Ich war diese Woche zum Tech Talk. Montag war dadurch ein sehr langer Tag. Ich glaube, das war der längste Tech Talk, den ich erlebt hatte. Mir fällt zumindest nichts anderes ein.

Der Tech Talk ging um das kommende Visual Studio 2008, früher Orca, und das .NET Framework 3.5. Alles in allem war aus meiner Sicht nun nicht der große Renner drin. Erschreckend finde ich noch immer oder gerade immer noch die exorbitant komplizierte Versionsnummernvergabe von Microsoft bzgl. .NET. Wenn ich es richtig verstanden habe, dann ist die Basis immer noch die CLR 2.0, der Compiler ist in der Version 3.5, andere Komponenten sind Version 3.0. Einfach unverständlich!

Nun aber zum eigentlichen Tema. Die größte Neuerung im Studio wird die Unterstützung verschiedener Framework-Versionen sein und das Switchen  zwischen diesen. Ansonsten sind es vor allem viele Kleinigkeiten, die gemacht wurden. JavaScript-Syntax-Highlighting und Debugging verbessert. Es gibt einige nette gemicks im Intellisense, aber das war es dann auch. Eine Sache ist mir noch eingefallen. Es wird ein verbesserten CSS-Editor geben, der auch anzeigen kann, welche Styles überschrieben werden durch die aktuelle Definition.

Bei den Spracherweiterung im Framework hörst sich das erstmal echt heftig an, wenn man sich aber genauer mit beschäftigt, so wird man sich fragen, wozu das eigentlich; zumindest bei einige Sachen.

Hier mal de Neuerungen:

-          Neuer Namespace System.Addin für das einfache Laden von Plugins und deren entladen

-          Optimierungen / Einstellungsmöglichkeiten am Garbage Collector

-          Implicit Tped Local Variables – was nichts anderes heißt, als Variablen mit der JavaScript-Syntax zu definieren. Der Typ wird anhand der 1. Zuweisung definiert.

-          Object- / Collection-Initiializer – können dazu benutzt werden, direkt nach der Instanziierung verkürzt Werte zu Methoden zu zuweisen.

-          Extension Methods – Ermöglichen es Erweiterungen für jeden beliebigen Framework Type zu schaffen. Somit es es nurn auch möglich, den System.String-Typ zu erweitern.

-          Anonymous Types – sind direkt im Code Block definierte lokale Typen. Letztendlich nur die Fortsetzung der Anonymous-Methods.

-          Lambda Expression – mittels der Ausdrücke können Expression gefiltert und sortiert werden. Allerdings wird damit deren Funktion noch nicht ganz klar beschrieben.

-          Auto-Implemented Properties – helfen jedem beim Schreiben der lästigen Property-Statements und Variablen in denen eigentlich nichts passiert. Letztendlich schreibt man so etwas wie eine Interface-Definition.

-          Partial Methods – habe ich nicht so ganz verstanden, wo deren großer Vorteil gegenüber normalen Ableitungen liegt.

-          Expression Trees – gar keine Ahnung, habe ich irgendwie verpasst.

-          Linq – das wohl am meisten ersähnte Feature für viele. Es geht darum eine Abstraktionssprache für Datenzugriffe zu schaffen. Bitte unbedingt die Folien ansehen. (Linq to Objects; Linq to DataSets; Linq to Sql; Linq to Entity; Linq to Xml)

-          Entity Framework – Ich ordne es grad als Bestandteil von Linq zu, aber da bin ich grad etwas unsicher. Letztendlich dient es dem entkoppeln von Datenrepräsentation und Business-Komponenten.

-          Sql Server 2005 Compact Edition – letztendlich so etwas wie SqLite für den Sql-Server. Als Addon gibt es noch einen Synchronization Service.

-          Ajax – wird Standard im Framework sein und somit vermutlich noch weitere Verbreitung finden.

-          Provider Model für Windows Clients – Nun auch in Windows Forms und WPF Anwendung unterstützt mit Server-Authentifizierung

-          WCF-Erweiterungen – Einige neue Transports für WCF

Wer die Folien und Beispiele der Veranstaltung haben möchte kann diese auf dem Blog von Dariusz Parys finden.

Der Tech Talk war auf jeden Fall eine gute Veranstaltung um mal einen Überblick zu erhalten. Wie man sich aber vorstellen kann, waren die 3-4h echt kompakt und vieles als Demo. Leider sind die Demos nicht als ScreenCast zu haben. Wer die Möglichkeit hat zu einem Launch-Event zu gehen, der sollte das ruhig nutzen. Mitte November wird in Frankfurt am Main der offizelle Launch, vermutlich noch vor dem US Launche stattfinden.

Donnerstag, Oktober 25, 2007

Sharepoint Object creation

Ich mache jetzt schon wieder fast 3 Monate intensive Sharepoint-Entwicklung. Gerade bin ich auf einen sehr interessanten und wichtigen Artikel gestoßen, der mir wieder einige Sachen in den Kopf geholt hat. Jeder der mit Sharepoint-Objekten arbeitet, sollte unbedingt mal http://msdn2.microsoft.com/en-us/library/aa973248.aspx und http://msdn2.microsoft.com/en-us/library/bb687949.aspx lesen. Beide Artikel behandeln das Dispose-Verhalten und Skalierung von Sharepoint-Objekten. Ich werde morgen noch mal einige Sachen in unserem Code checken, ob auch alles ordentlich entsorgt wird. Ich weiß, dass es einige Lücken gibt.

Ein Hinweis auf nicht entsorgte Objekte gibt auch das Sharepoint-Logging, in dem auf eventuelle Fehler hingewiesen wird.

Sonntag, Oktober 14, 2007

Sharepoint Ajax Integration

Vieles wurde bereits zu diesem Thema geschrieben.  Ich habe in den letzten 3 Wochen auch heftig mit dem Thema gekämpft. Dabei bin ich auf viele Probleme gestoßen und immer wieder nach dem Try-And-Error-Prinzip vorangekommen.

Mir hat für die ersten Schritt sehr doll der Artikel von Mike Ammerlaan Integrating ASP.NET AJAX with SharePoint geholfen. Der Artikel beschreibt sehr detailiert, was alles anzupassen ist.

Nach dem ich alle Schritte durchgeführt hatte, ging es merkwürdigerweise immer noch nicht. Nach Stunden des Forschens habe ich keine Ursache gefunden und mich erstmal für eine Realisierung ohne Ajax entschieden. Eine Woche später habe ich einfach nochmal Ajax Controls ausprobiert; es funktionierte auf einmal. Prinzipiell lässt sich so wirklich sehr viel damit anfangen und der Sharepoint noch um einiges verfeinern. Ich schreibe meine Controls meistens als Server Controls und nicht als User Controls, da so das Deployment einfacher wird. Der große Nachteil ist eine wesentlich aufwendigere Entwicklung.

Aktuelle realisiere ich gerade eine Webseite auf Sharepoint-Basis, die einige der Ajax-Controls nutzt. Viele Sachen machen sich im Sharepoint schwieriger als in einer klassischen ASP.NET-Anwendung, vor allem wenn man alles umbauen muss uns sämtliche Layout-Elemente verbiegen muss.

Für die neue Webseite wurde das Layout von Designern entwickelt, dabei wurde die Gestaltung vorrangig mit Photoshop oder einem ähnlichem Grafikwerkzeug durchgeführt. Das erschreckende ist dann immer, dass vieles einfach nicht so richtig passt, Schriften sehen im Web nicht identisch aus, Geschwungene Linien brauchen viele Grafikelemente, viele Bilder verlangsamen die Seite erheblich, ….

Mal schauen, wie es aussieht, wenn alles fertig ist.

Donnerstag, Oktober 04, 2007

Free Burma

Free Burma!

Samstag, September 29, 2007

Kleiner Nachtrag

Seit 2 Wochen ist nun auch die Internetpräsenz, die eigentlich für Anfang August geplant war Live. Schaut doch mal auf www.smartpath.de vorbei. Die Seite basiert auf Sharepoint 2007 Technologie und ist aus meiner Sicht sehr nett und gelungen. Ab und an ist sicherlich ein kleiner Makel, aber welche Seite hat das nicht. Wäre sehr interessiert an Feedback, ggf. würde ich es auch mit meinen Kollegen beraten. SmartPath ist das Kunstwort für unseren e-Dokumentenaustausch auf Basis von BizTalk.

Oktoberfest

Hui, gestern war ich auf dem Oktoberfest in München. Nach einer Einladung des Chefs von Xuccess habe ich mich auf den Weg gemacht. Der Hauptgrund hinzufahren war das Treffen von vielen bekannten Gesichtern. In der Frühe ging es hier in Berlin mit Zahnbürste bewaffnet los. Die nächsten Stunden waren dann sehr zäh, 6h Zug fahren. Ich habe mich für den Zug entschieden, weil ich anschließend Abend leicht und entspannt wieder zurückkomme. Ein weiter Vorteil bei einer Zugreise zum Oktoberfest man kommt fast auf der Festwiese an. Der Hauptbahnhof und Festwiese sind ca. 10min Fussweg auseinander.

Angekommen in München musste ich erstmal noch 2 Sachen beruflich checken, anschließend konnte ich mich an die Klärung machen, wie man am leichtesten zum Oktoberfest (zum Treffpunkt) kommt. Nach dem Weg zur Touristeninformation hatte ich auch diese Info und konnte mich dann auf den Weg machen. Angekommen machte ich mal eine Runde auf dem Oktoberfest, zum Glück war es trocken und nicht so voll. Mein erstes Fazit, das ist ein riesen großer Rummel (etwas plakativ gesagt). Auf meiner Runde habe ich schon 10-20 Polizisten gesehen.

Der nächste Meilenstein war das Treffen meiner Münchner Kollegen. Nach kurzem Telefonat habe ich auch das Zielzelt gefunden, man muss halt Altdeutsch lesen können. Der erste Schock, alle Münchner in Lederhosen und bei den Damen das andere Outfit (hat auch einen Namen), so habe ich die Kollegen noch nie gesehen. Ziel war übrigens das Weinzelt, was auch nicht wirklich ein Zelt war, sondern eher ein großes Holzhause.

Rein ging es durch den Hintereingang, an dem es voll war, weil Leute rein wollten, aber das „Zelt" schon geschlossen war. Mit Marker war, nach dem Durchdrängeln, alles kein Problem mehr. Drin ging es nach oben, ja, es gab 2 Ebenen, wo unsere Tische reserviert waren. Das Zelt sah von innen richtig schön aus, schönes Holz, nett/praktisch gestyled. Die Bänke waren sehr massiv mit Lehnen. Anschließend gab es in Intervallen das essen, 1. Brezn, 2. Kartoffelsalat und halbes Händl. (Hoffe, das ist richtig geschrieben) Für mich war so ein halber Vogel zu viel, aber hab trotzdem gut gegessen. Ach bevor ich es vergesse, es gab natürlich auch Getränke, allerding da wir im Weinzelt waren nur Weißbier und Wein, naja und 3 nicht alkoholische Sachen (Wasser, Apfelsaft, O-Saft). Ich habe Wasser und O-Saft getrunken, 0,5l Bier war mir zu viel und bei Wein bin ich auch nicht grade ein Genießer. Aber es war dennoch sehr schön.

Habe ich schon erwähnt, dass das Outfit der Damen sehr ansprechend aussah? (auch ohne Alk)

Um so später der Abend um so mehr Leute sprangen auf die Bänke und Tische und dass erstaunlichste und für mich noch nie gesehene, war das verspritzen von Sekt/Champagner. Zu Begin, beim Sammeln, meinte Robert, dass man hier eigentlich einen Regenschirm mitnimmt. Jetzt möchte ich noch erwähnen, dass eine Flasche Champagner zwischen 1.500€ und 3.000€ kostet und einige Flaschen in die Menge gingen. Die Band heizte der Stimmung auch gut ein. Zu Beginn gab es etwas ältere Songs und es wurde immer moderner. Ich fand die Band richtig gut. Mit Mario wollte ich mal zur Bar, von denen es 2 gab. Bei der ersten waren zwischen uns und Bar bestimmt noch 20m, allerdings waren die voller Menschen, die sich schon nicht mehr bewegt haben. Die 2. Bar im unteren Bereich, da wo der Champagner flog, sah nicht ganz so schlimm aus. Wir haben es geschafft fast in Armlänge an die Bar zu kommen, allerdings war es dann so heftig, dass es in keine Richtung mehr ging und bestellen war auch nicht möglich. Irgendwie haben wir es da wieder raus geschafft.

In den Gesprächen mit Kollegen konnte man so einiges erfahren. Das Weinzelt ist ein eher ruhiges und kleines Zelt, danach habe ich mir gedacht, dass ich lieber nicht die anderen Zelte sehen möchte.

Der ganze Abend war super schön. Bisschen getrübt von mir, weil ich trotz der vielen hübschen Frauen immer nur an eine Frau gedacht habe. Ich kann die eine Frau einfach nicht aus dem Kopf bekommen, dabei habe ich gar keinen Kontakt mehr zu ihr. Jeder sagt, ich soll sie vergessen, aber ich krieg es nicht hin.

Das Oktoberfest hat allerdings für viel Abwechslung gesorgt und die Stimmung ist wirklich ansteckend. Ich kann jedem nur mal empfehlen, wenigstens einmal im Leben das Oktoberfest zu besuchen. Der Spaß ist allerdings auch nicht ganz günstig, so dass man schon das Portemonnaie ordentlich voll machen sollte.

Ich denke, ich werde heute noch 1-2 Bilder vom Handy ziehen und diese online stellen. Die Bilder werde ich dann hier auch publishen. Jetzt muss ich erstmal einkaufen und vielleicht noch bisschen Wohnung aufräumen, wobei das auch quatsch ist.

Update: Unter http://picasaweb.google.com/zieschang/Oktoberfest2007 sind nun mal einige Bilder zu finden. Leider konnte ich nicht sehr viel machen, da ich nur ein Handy mit hatte. Aber hier noch Slides:

Donnerstag, September 20, 2007

.NET Cheat Sheets

Nette .NET-Resource habe ich gerade gefunden. Hier werden schöne Übersichten zum download gestellt. Kann ich nur empfehlen und am besten die Wände damit tapezieren J

Mittwoch, September 19, 2007

non-admin development

Ich versuche schon eine Weile als non-Admin auf meinem System zu entwickeln. Das ganze ist durch Virtualisierung enorm einfacher geworden. Admin-Rechte braucht man maximal noch in der VM. Allerdings entwickle ich auch einige Projekte auf meinen Host/Laptop. Hier habe ich eigentlich keine Admin-Rechte mehr. (eigentlich hatte)

Mit VS2005 ist die Entwicklung von Web-Projekten ohne Adminrechte erst schön einfach geworden. Aber vorgestern bin ich bei WCF auf ein Problem gestoßen. Hier können die Urls nicht registriert werden, so dass meine App crashed. Das Verhalten ist erstmal gut in der Knowledge Base dokumentiert, allerdings haben bei mir die Funktionen zum umgehen der Funktionen nicht funktioniert. Es gibt auch ein nettes Tool, dass bei der Generierung von notwendigen Kommandozeilenaufrufen hilft.  Hier noch ein Blog zum Thema http://blogs.msdn.com/drnick/archive/2006/04/14/configuring-http.aspx.

Noch etwas ganz anders. BizTalk 2006 R2 ist endlich released. Also wer die neuen Features (vor allem EDI) ausprobieren möchte, los geht’s!

Montag, September 17, 2007

BizTalk 2006 X101 System.Exception during build

Also manchmal wünscht man sich wirklich etwas hilfreichere Meldungen. Immer wieder renne ich in den gleichen Fehler. Man nutzt eine Funktion, die man schon 100mal in .NET-Projekten verwendet hat und plötzlich spuckt der BizTalk einen Fehler beim kompilieren aus. Ein einfacher Grund für diesen Fehler kann die Verwendung von Generics in der Klasse bei Methodensignaturen sein. Mit Generics hat es der BizTalk wirklich nicht. Dieser Fehler ist ziemlich ärgerlich, um den Fehler zu umgehen erstelle ich mir eine Wrapper-Methode in einer Hilfsklasse und leite dir Aufrufe 1:1 durch.

Wenn jemand eine bessere Lösung hat, dann wäre ich für den Tip dankbar.

Sonntag, September 16, 2007

Missing in ...

Ich habe schon langes nichts mehr privates gebloggt, der Grund dafür ist gar nicht so einfach zu sagen. Ein Grund ist auf jeden Fall, dass ich einfach nicht weiß, was ich denken will, denken soll, glauben soll und wünschen soll. Mir geistert immer noch ein Mensch immer im Kopf rum, dabei hab ich diesen Menschen eigentlich zum letzten mal richtig in Mail gesehen und da war es schon … (mir fehlt ein Ausdruck dafür). Ich sollte doch eigentlich nach sovielen Tagen alles aus dem Kopf bekommen, aber momentan wird es wieder schlimmer. Mein Chef will noch immer, dass ich mal meinen Urlaub plane, aber ich weiß einfach nicht, wie ich es überstehen soll, wenn ich Wochen ohne Arbeiten und ohne Freundin verbringen soll. Ich habe mir schon einen Backup-Plan überlegt, ich mache meine Zertifizierung und bastle an meiner Web-Seite, was allerdings nicht wirklich Urlaub wäre.

Ich werde heute vermutlich Skaten gehen, dann kann ich vielleicht abschalten. Blöderweise wird es schon dunkel sein, so dass es nicht mehr ganz so schön ist.

Wochenlang Sharepoint

Bbbbooooooaaahhh, schon seit Wochen beschäftige ich mit SharePoint-Services. Man verliert langsam aber sicher immer mehr die Lust an Sharepoint. Es gibt immer eine Kleinigkeit die man braucht, aber nicht vorgesehen ist. Für die meisten Sachen bedeutet das, dass man ein neues WebPart schreibt oder mal im Internet stöbert.

Größte Teil unserer Arbeit ist es das Onet.Xml und die Master-Pages zu erstellen. Leider ist nicht alles mit dem Onet-File möglich, so dass es zum Teil darauf hinausläuft, dass die Vorgänge in einem Provisioning-Assembly kodiert werden. (Msdn Sample http://www.microsoft.com/downloads/details.aspx?FamilyId=5B6C8FB0-9B67-47DB-8A09-BCA76BC9A5D1&displaylang=en)

Der Upload von Dokumenten in eine Sharepoint-Document-Library ist nicht über die Builtin-Webservices möglich, allerdings ist das nirgends ausführlich erklärt. In Blogs und teilweise auch in Foren gibt es zum Glück dafür auch Hilfe, sogar MS stellt ein entsprechendes Beispiel bereit, in dem Dokumente upgeloaded werden. Nicht ganz aktuell, aber es funktioniert http://msdn2.microsoft.com/de-de/library/ms916810.aspx und ein guter Blog-Eintrag zum Thema http://weblogs.asp.net/sebastianweber/archive/2004/10/22/246470.aspx. Warum diese Funktion allerdings kein Standard ist, bzw. nicht über die Standardlisten-WS abgewickelt wird, ist für mich unverständlich.

Der Schwierigste Punkt bei der Entwicklung mit Sharepoint ist die mangelnde und ungenau Dokumentation. Seit der letzten Version hat sich viel getan, allerdings sind immer noch viele tiefgreifende Funktionen nicht erklärt.

Ich muss mal noch Auszüge aus der Onet posten, allerdings das nicht mehr heute. Hier noch eine ganze Reihe von Links zu Sharepoint http://del.icio.us/splushi/wss.

Sonntag, September 02, 2007

Workflow Foundation und Communication Foundation Rückblick

Mein Provisioning Projekt auf Arbeit ist in der 1. Version einsetzbar. Wenn ich mir die Sachen alle so anschau, dann würde ich sagen, dass es schon eine klasse Sache ist.

Workflow Foundation finde ich echt Spitze zur Abbildung von Abläufen, allerdings habe ich bei mir zu sehr auch Code in dem Workflow geschrieben. Im Nachhinein würde ich das vermutlich in eine oder zwei separate Klassen auslagern. Mein Workflow wird über die Enterprise Library konfiguriert, dabei wird die Konfiguration in die Klasse gegeben. Das Starten von Workflows wird durch einen Windows Service durchgeführt. Als nächstes müsste ich mich mal mit den vielen weiteren Features der Workflow Foundation beschäftigen. Unter anderem bin ich total unglücklich über das Exception Handling. Exception Handling finde ich im BizTalk besser gelöst.

Die Communictation Foundation ist eigentlich von außen betrachtet, nichts Aufregendes. Allerdings birgt es extrem viele Vorteile. Entwickler brauchen nicht zu wissen, wie die Kommunikation später ablaufen wird. Es ist egal, ob TCP, http, Soap, …. Weiterer Vorteil, die Anwendung kann schnell auch wieder für Legacy Apps zugänglich gemacht werden, dazu muss halt in der Konfiguration am besten Soap über http aktiviert werden (sollten doch die meisten verstehen). Mein subjektiver Eindruck ist auch, dass die Kommunikation schneller abläuft und die Serializer flinker sind, als die Standard-Serializer. Momentan ist mein Ärgernis, dass ich nicht die Konfiguration, oder Parameter an meine Operation-Klassen gegeben kann, hierfür muss ich mir wohl eine neue Konfiguration-Section schreiben.

WF und WCF sollte sich jeder Entwickler im .NET-Umfeld schnell anschauen und in seinen Sprachschatz aufnehmen. Der Einsatz der beiden Technologien wird durch die 100%ige Kompatibilität des FX3 zum FX2 erleichtert.

Viel Spaß beim ausprobieren!