24 März 2010

TechTalk: Office 2010 Client Server Szenarien

Am 7. April findet bei Microsoft ein öffentliche,und kostenlose Veranstaltung zum Thema Office 2010 Client Server Szenarien statt. Anmelden kann man sich hier: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032437559&culture=de-ch

Die ganztägige Veranstaltung zeigt neue Möglichkeiten zur Produktivitätssteigerung auf, die sich durch den Einsatz von SharePoint 2010 und Office 2010 zusammen ergeben.

Don't miss it!

16 März 2010

Themes unter SharePoint 2010

SharePoint 2010 bietet eine neue Theming Engine. Ein Theme wird neu in einer THMX Datei abgelegt. Diese Datei kann in einem Office Client Programm erstellt werden oder aber über das Web UI zusammengeklickt werden. Im 14-Hive findet sich zwar noch ein Theme Ordner mit all den CSS Dateien und Bildern, dieser wird aber nur für Visual Upgrade verwendet. Neue Themes werden in der Theme Gallery innerhalb der Site Collection abgelegt.

Ein Theme beinhaltet Informationen über 12 Farben und zwei Schriftarten. Out-of-the-Box CSS Dateien sind mit Comments versehen, welches sich auf diese 12 Farben und die zwei Schriftarten beziehen. Wird ein Theme angewendet, werden in in den bestehenden CSS die Farben und Schriftarten ersetzt und in neuen Dateien abgelegt. Zusätzlich werden auch die Bilder neu eingefärbt.

Anbei ein Beispiel der comment-style Markup Sprache in CSS Dateien.

.class
{
/*[ReplaceColor(themeColor:“Accent5—Darker”)]*/
border:solid 1px #4f4f4f;
/*[RecolorImage (themeColor: “Accent2”, method: “Tinting”)]*/
background—image: url(“/_layouts/images/nav.gif”);
}


Mit diesem Vorgehen können natürlich nicht sämtliche Anforderungen abgedeckt werden. Teilweise muss ein Alternate CSS angegeben werden oder gar die Master Page customized werden.

Deployment

Hat man einmal ein Theme über das Web UI zusammen geklickt, kann man die THMX Datei mit dem SharePoint Designer extrahieren und in einem WSP deployen oder aber in eine andere Theme Gallery hochladen.

Im SharePoint Designer kann über das Site Object “All Files” auf den Ordner “Themes” zugegriffen werden. Hier kann die THMX Datei nun exportiert werden.

image

Will man sie nun via WSP verteilen, kann mittels Visual Studio 2010 ein neues “Empty SharePoint Project” erstellt und ein Module eingefügt werden. Die Datei Elements.xml in diesem Module (hier habe ich es “Theme” genannt) sieht folgendermassen aus:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Module Name="Theme" Url="_catalogs/theme" RootWebOnly="TRUE">
<File Path="Theme\MyTheme.thmx" Url="MyTheme.thmx" Type="GhostableInLibrary">
<Property Name="Title" Value="MyTheme.thmx" />
<Property Name="Title" Value="MyTheme.thmx" />
</File>
</Module>
</Elements>


Code

Um das neue Theme im Code anzuwenden, darf nicht die Methode ApplyTheme() aus SPWeb verwendet werden. Hierfür steht eine neue Klasse (ThmxTheme) zur Verfügung, welche diese Aufgabe übernimmt:

ThmxTheme theme = ThmxTheme.Open(web.Site, "/_catalogs/theme/MyTheme.thmx");
theme.ApplyTo(web, true);


Obwohl die neue Theming Engine von SharePoint 2010 nicht alle Bedürfnisse abgedeckt, ist die Lösung doch brauchbar.

09 März 2010

Upgrade MySite nach SharePoint 2010

Beim Upgrade mit dem Database Attach können Content Datenbanken von Team Sites sehr einfach von SharePoint 2007 nach SharePoint 2010 migriert werden. Auch die Profiles sowie die MySites können migriert werden – es bedarf einfach etwas mehr Aufwand.

Der Shared Services Provider von MOSS / SharePoint 2007 existiert unter SharePoint 2010 nicht mehr. Profile Daten werden nun von einer Serivce Application verwaltet. Beim Upgrade migrieren wir folglich die SharePoint 2007 Profile in eine neue “User Profile Service Application”. Falls mit dem “Farm Configuration Wizard” bereits eine User Profile Service Application erstellt wurde, kann diese später gelöscht werden.

Hier die notwendigen Schritte:

  1. Zu Beginn brauchen wir die SharedServices_DB sowie die Content Datenbank(en) der MySite. Beide sollen auf dem SQL Server der SharePoint 2010 Farm zurückgespielt werden.
  2. Bitte in der Central Administration unter “System Settings” \ “Manage Services on Server” prüfen, dass die Dienste “User Profile Service” und “Managed Metadata Service” laufen.
  3. Mit dem PowerShell cmdlet “New-SPProfileServiceApplication” erstellen wir eine neue Service Application. Als Datenbanknamen geben wird die SharedServices_DB an (aus Schritt 1). Als Bezeichner (Name) verwende ich hier “SharedServices” – wer keine Altlasten will, darf natürlich gerne einen SharePoint 2010 konformen Namen verwenden.
    New-SPProfileServiceApplication -ApplicationPool "SharePoint Web Services Default" -Name SharedServices1 -ProfileDBName SharedServices1_DB
  4. In der Central Administration unter “Upgrade and Migration” \ “Upgrade Status” prüfen, dass die Upgrade Session erfolgreich abgeschlossen wurde. image
  5. Neuer Service Application Proxy erstellen. Dabei muss die Service Application ID aus Step 3 angegeben werden:
    New-SPProfileServiceApplicationProxy -name "SharedServices1_Proxy" -ServiceApplication [GUID]
  6. In der Central Administration unter “Application Management” \ “Manage Service Application” \ “SharedServices1” sind nun die migrierten User Profiles ersichtlich.
    image
  7. Jetzt können wir die MySite Content Datenbank anhängen. Zuerst können wir mit Test-SPContentDatabase prüfen, ob wir keine Upgrade Issues haben:
    Test-SPContentDatabase -Name WSS_Content_Mysite -WebApplication http://sharepoint2010.is-lab.local
  8. Sind alle Issues gefixt, kann die Content Datenbank angehängt werden. Dabei werden die MySites nach SharePoint 2010 migriert. Der Prozess kann in der Central Administration unter “Upgrade and Migration” \ “Upgrade Status” verfolgt werden.
    stsadm -o addcontentdb -url http://sharepoint2010.is-lab.local -databasename "WSS_Content_MySite"
  9. Allfällige Fehler sollten analysiert und gefixt werden:
    image
  10. In unserer User Profile Service Application müssen wir nun noch den MySite Host setzen. Zuerst muss eine Site Collection vom Typ “My Site Host” vorhanden sein. Der Farm Configuration Wizard erstellt einen MySite Host unter dem Managed Path /my. Wer mag, kann aber auch einen neuen MySite Host erstellen.
  11. Den MySite Host setzen wir in der Central Administration unter “Application Management” \ “Manage Service Application” \ “SharedServices1” \ “Setup My Sites” im Feld “My Site Host location”.
    image
  12. Damit die Benutzer auf die migrierten MySite zugreifen können, muss nun noch die User Profile Service Application mit unserer Web Application verbunden werden. Hierzu ändern wir am besten gleich die “Application Proxy Group” mit dem Namen “default”. Dazu unter “Application Management” \ “Configure Service Application Associations” auf die Proxy Group “default” klicken. Im Pop Over Dialog den vom Farm Configuration Wizard erstellte Proxy (“User Profile Service Application”) deselektieren, den SharedServices1_Proxy anwählen und als Default setzen.
    image
  13. Nach einem IISRESET sollte auf die migrierte My Site zugegriffen werden können.
  14. Zum Schluss berechtigen wir noch den Crawl Account. Dazu in der Übersicht der Service Applications auf “Administrators” klicken.
    image
  15. Der Crawl Account braucht das Recht “Retrieve People Data for Search Crawlers”.
    image

Nach der Migration sollte jeder Benutzer wieder auf seine My Site zugreifen können und seine Daten dort vorfinden. Auch Listen und Web Parts werden migriert. Beim Upgrade der My Site von SharePoint 2007 (MOSS) auf SharePoint 2010 wird direkt ein V4 Master angewendet. Der Visual Upgrade Mode steht für My Sites nicht zur Verfügung. Dies bedeutet, dass sämtliche graphischen Anpassungen verloren sind bzw. neu erstellt werden müssen.

Auch das Profile wird komplett übernommen. Custom Profile Properties werden angelegt und mit den angegeben werden abgefüllt. Evtl. ergeben sich gewisse Abweichungen bei den Privacy Settings.

08 März 2010

Office 2010 kommt am 12. Mai in die Läden

Microsoft hat das Erscheinungsdatum von Office 2010 und SharePoint 2010 bekannt gegeben. Am 12. Mai ist es soweit. Der RTM (Release to Manufacturing) wird schon im April verfügbar sein.

http://blogs.msdn.com/sharepoint/archive/2010/03/05/sharepoint-2010-office-2010-launch.aspx