Deploy global resources in a SharePoint Farm

Mikhail Dikov has written a very good article about how to use and deploy global resources within SharePoint.
He uses a Feature Receiver and creates a one-time scheduled job which copies the resource files from the feature folder to the App_GlobalResources folder under Inetpub\wwwroot\wss\VirtualDirectories\[port].

Now, why I'm writing about this?

Because there is one little thing within his code, that makes this solution unusable for a farm with more than one WFE (Web front-end server).
The resource files were copied only on one WFE each time I activated the feature. After searching the web a while, I found that the parameter SPJobLockType is the problem.

In Mikhails solution this parameter is set to "Job", which defines that this job executes only on one machine at a time. In a farm, I want to execute this job on each WFE. So set this parameter to "None" and it works!

Another solution is the article from Maxime Bombardier "Deploying resource files across a farm". For me it seems to be a little bit difficult and more complex than the solution from Mikhail.

CMS mit SharePoint 2007 - Teil 1: Das SharePoint Variation System

Ich weiß, dass es einige Webseiten gibt, die insgesamt wahrscheinlich eine Menge Gründe nennen können, warum man Variations mit SharePoint 2007 nicht einsetzen sollte.

Im aktuellen Projekt war die Entscheidung für Variations bereits lange vor Beginn gefallen...

Daher ein paar nützliche Hinweise die man evtl. vorher beachten sollte oder die im Nachhinein vielleicht noch was retten können. ;-)

  1. Insgesamt ist das Variationsystem leider sehr instabil, auch mit installiertem SP1.
    Beispiel: Für die Migration von einem vorhandenen alten System haben wir u.a. ein Tool geschrieben, um aus Einträgen einer SharePoint Liste Sites und Pages auf einem Zielsystem zu erstellen. Sei es über as SP Objektmodell oder über stsadm, stellenweise und aus unerfindlichen Gründen knallt es beim Anlegen der Variations. Da die Sourcesprache aber (durch unseren code) (meistens) korrekt angelegt wird, ist der dahinterliegende Timerjob des Variationsystems das Problem.
    Eine wirkliche Lösung gibt es offensichtlich bisher nicht, daher führen wir das Erstellen der Sites und Pages nun verzögert aus, um jeweils nach ein paar Sites erstmal auf den SharePoint Timerjob zu warten...
  2. Variations per SharePoint Solution/Feature deployen bereitete uns ebenfalls einige Kopfschmerzen.
    Die Labels der Variationen die man anlegen möchte, lassen sich noch relativ leicht über ein paar Zeilen code in einem Feature Receiver anlegen. Um nun die Hierarchien zu erstellen, kann man entweder über die GUI gehen und auf den Button "Create Hierarchies" klicken oder man macht auch das per Code. Sinnvoll ist es, damit man später das ganze wirklich ohne manuelle Eingriffe von einem Administrator installieren lassen kann. Leider will Microsoft das wohl nicht, denn die zugehörige Klasse, bzw. Methode ist als internal deklariert und somit nicht verfügbar. Da das inakzeptabel ist, half nur ein Artikel von Codeplex, in dem beschrieben wird, wie man mittels Reflection doch noch zum gewünschten Ergebnis kommt. Und ja, die Alternative die Seite per WebRequest aus dem Code raus anzustoßen und vorher entsprechend zu manipulieren funktioniert nur bedingt und natürlich schon gar nicht zusammen mit Mehrsprachigkeit ;-)
  3. Custom ASP.NET 2.0 WebParts und Variations vertragen sich leider gar nicht!
    Beispiel: Eine Page erstellen, ein (selbst geschriebenes) WebPart hinzufügen und Publish klicken. Das Ergebnis ist ein leerer Eintrag im Variation Log, wo dann zwar Datum und Uhrzeit, aber weder Success, noch Failure Meldungen stehen.
    Weiterhin passiert dann einfach nichts mehr. Entfernt man das WebPart und klickt erneut auf Publish, funktioniert alles wieder wie es sollte.
    Nach einiger Recherche gibt es dazu offensichtlich 2 Lösungen:
    1. Man erbt von Microsoft.SharePoint.WebPartPages.WebPart anstatt von System.Web.UI.WebControls.WebParts.WebPart, was jedoch laut Microsoft nicht empfohlen ist, oder
    2. Installiert neben den Post-SP1 Hotfixes vom 31. Januar 2008 auch noch das 21. Februar 2008 Hotfix Package, was genau dieses Problem behebt. Somit können dann auch bereits vorhandene ASP.NET WebParts verwendet werden.

Weitere Teile folgen, denn noch ist das Projekt nicht zu Ende... Im nächsten Beitrag geht es dann um das ebenfalls allseits beliebte Content Deployment und warum  ich das ganze nahezu komplett neu Entwickelt habe...

Proxy Switcher v1.2.1

Kleines Update:

Bug fixes:

- Automatische Überprüfung auf Updates deaktivieren hatte keine Funktion / Disable Check for Updates option had no function

New Features:

- Automatisch starten mit Windows als Option verfügbar / Autostart with Windows available

 

Wie immer: Download hier

Proxy Switcher v1.2.0

Der Proxy Switcher ist nun in einer neuen Version verfügbar.
Neben einer grundlegenden Änderung am Switcher PlugIn Interface, gab es noch ein paar weitere Änderungen und Neuerungen.

Das wichtigste dürfte für die meisten jedoch sein: Der Proxy Switcher bringt nun ein Firefox Switcher PlugIn mit. Leider muss Firefox geschlossen sein, da Firefox keine API mitbringt um eine laufende Instanz zu benachrichtigen, dass sich die Proxy Einstellungen geändert haben. Sollte jemand dazu Informationen haben, bitte melden.

DOWNLOAD HIER

Changelog:

  • Automatische Prüfung auf neue Versionen
  • Verbessertes PlugIn Interface (Bietet nun laden/speichern von Konfigurationen)
  • Minimiert starten funktioniert nun auch zuverlässig auf Windows XP und ist explizit konfigurierbar
  • Neues PlugIn für Firefox 2 und 3 (außerdem kann bei mehreren Profilen gewählt werden, für welches Profil die Einstellungen gelten sollen)

--------------------------

English:

DOWNLOAD HERE

Changelog:

  • Auto check for updates
  • Enhanced PlugIn interface (now an abstract base class with load/save configuration functions)
  • Start minimized now configurable and working on Windows XP
  • New PlugIn for Firefox 2 and 3; works also with different Firefox profiles

Ich bin Xobni Beta Nutzer

Zuerst: Wer noch nie was von Xobni gehört hat, sollte es erst mal rückwärts lesen und dann die offizielle Webseite besuchen: http://www.xobni.com

Das ganze ist ein Outlook 2003/2007 AddIn was Statistiken über den Mailverkehr führt und Zusammhänge sehr schnell und sehr übersichtlich darstellt.

So sieht es in meinem Outlook aus:

image

Rechts oben sieht man sofort wenn man eine Mail selektiert, wieviel Mails man zu welchen Uhrzeiten von der Person bekommen hat, die Telefonnummer und darunter 3 weitere nützliche Fenster.

Insbesondere das Conversations Fenster finde ich extrem sinnvoll und nützlich. Es zeigt nämlich Mails zusammenhängend an, wodurch man nicht alle vergangenen Mails wieder zusammen suchen muss (womöglich noch über mehrere PST Dateien verteilt, da bereits archiviert) und bekommt schnell einen Überblick wer wann was zu einem Thema gesagt hat. Und so sieht es aus:

image

Man hat sofort den Zusammenhang und kann sehen was bereits alles geschrieben wurde.

Ein weiteres sehr sinnvolles Fenster ist das Attachments Fenster. Dort sieht man nämlich sofort alle Dateien die man mit einer bestimmten Person ausgetauscht hat! Praktisch wenn man sich erinnert, dass man jemandem eine Datei geschickt hat, aber nicht mehr wann und nach was man am besten suchen könnte. Hier wird alles auf einen Blick präsentiert.

Das Fazit ist, dass es ein sehr cooles Tool ist, was dann hoffentlich bald Final und für alle kostenlos zur Verfügung steht.
Wer es bis dahin auch mal testen möchte, meldet sich hier in den Kommentaren oder per Mail, denn ich habe 6 Einladungen zu vergeben!

Wo ist Marco? Lost in 64bit...

Nachdem ich nun einen neuen (Avanade) Laptop bekommen habe, der 4 GB Speicher hat, wäre es ja die reinste Verschwendung ein 32bit Windows zu installieren.

Daher habe ich nicht lange gezögert, und Vista Ultimate x64 installiert. Bisher bin ich wirklich zufrieden, nur ein Problem gibt es: Die Java Software für meinen GPS Logger setzt auf eine Library die leider für 32bit kompiliert ist und sich einfach weigert unter 64bit zu laufen.

Deshalb gibt es zur Zeit keine Updates auf http://WoIst.mwiedemeyer.de. Die Daten werden alle gespeichert (ich hoffe der Speicher reicht noch eine Weile) und dann findet sich hoffentlich demnächst eine funktionierende Lösung...

Proxy Switcher Update: v1.0.6

Download here!

Changelog:

  • A new switching method is available (Wireless LAN SSID)
    image
  • Switching method "Gateway is" was removed, because "Gateway contains" also works for exact matches. NOTE: Please check your AutoSwitch settings if you used the "Gateway is" method.

CeBIT 2008 - 2

Heute geht die CeBIT zu Ende und gestern war ich wie angekündigt also dort auf dem Avanade Stand, um ein paar sehr nette Gespräche mit potentiellen Bewerbern zu führen.

IMG_0095

Hier ein Bild vom Stand mit Martin und Silvia.

War sehr nett, auch wenn es erwartungsgemäß am Samstag natürlich viele "Beutelratten" gab, die auf Kugelschreiber Jagd waren...
Zum Trost gabs dann wenigstens bei Microsoft nach 18Uhr noch ein paar Cocktails. ;-)

Optimus Keyboard

Diese Tastatur WILL ICH!
Jetzt wird sie wohl tatsächlich hergestellt und verfügbar... Wer nicht weiß, wovon ich spreche:

Wenn da nur nicht die Sache mit dem Preis wäre... Laut dem "Optimus Store" soll das ganze in Deutschland nämlich 1550 EUR kosten! Hallo? Ich glaube ich warte doch noch ein bis zwölf Jahre mit der Bestellung ;-)