ContentQuery WebPart Logikmatrix

by fkollmann 2/29/2008 12:04:00 PM

Etwas trivial, aber eine gute Übersicht für Kunden, wie die verschiedenen Filter zusammen spielen:

   

Filter (Titel enthält)

Ergebniss

"a" und "b" und "c"

"abc"

"a" oder "b" oder "c"

ALLE: "a", "b", "c", "ab", "ac", "bc", "abc"

"a" und "b" oder "c"

"c", "ab", "ac", "bc", "abc"

"a" oder "b" und "c"

"ac", "bc", "abc"

Die Logik lautet also: ( a b ) c

Kapazitätsplanung für Exchange 2007/WSS 3.0/MOSS 2007

by fkollmann 2/26/2008 12:02:00 PM

Im Rahmen unserer SharePoint Projekte ist es immer wieder notwendig eine genaue Planung für die Hardware und Infrastruktur zu machen.

Neben den eigenen Erfahrung ist hier vor allem die Capacity Planing Tools von Microsoft eine große Hilfe.

Z.B. für WSS 3.0/MOSS 2007 muss installiert werden:

  1. System Center Capacity Planner 2007 (download; beinhaltet bereits Exchange 2007)
  2. SharePoint Capacity Planning Tool (download)

Wer gerne konkrete Hardware wissen möchte, für den bietet Dell einige Advisors an für Exchange 2007 und SQL Server 2005.

UPDATE: Von Microsoft gibt es eine umfangreiche Sammlung run um dieses Thema: http://technet.microsoft.com/en-us/library/cc261834.aspx .

Mein neues WebPart Projekt

by fkollmann 2/25/2008 12:01:00 PM

Immer wieder setzten wir für unsere Projekte neue WebPart Projekte auf. Inzwischen machen wir das aber auf andere Weise, und hier soll einmal der aktuellste Stand vorgestellt werden (aus der Basis von Visual Studio 2008):

Hier verwende ich zwei Drittanbieterlösungen:

Also, los geht's:

1) Als erstes legen wir erst einmal ein leeres Verzeichnis an, um hier eine vernünftige Basis zu haben.

2) Nun kopieren wir die ganzen Tools zusammen, und legen diese im Verzeichnis Tools ab. Details können der ZIP Datei entnommen werden.

3) Als nächstes installieren wir die WSP Builder Extensions für Visual Studio (habe ich ebenfalls unter Tools abgelegt).

4) Wir legen jetzt als nächstes eine Visual Studio 2008 Solution an, mit dem WSP Builder WebPart Projekt Init.MeinKunde.Sharepoint :

Name: Init.MeinKunde.Sharepoint
Location: C:\MyWebpartDemo
Solution Name: DotNet

Hieraus ergibt sich jetzt folgende Verzeichnisstruktur:

/Tools/
/DotNet/Init.MeinKunde.Sharepoint/

5) Der nächste Schritt ist nun das Projekt richtig zu konfigurieren. Erst einmal müssen wir den Ausgabepfad ändern:

Output path: GAC

6) Nun muss der WSP Builder selbst noch eingebunden werden:

Post-build event command line: "$(SolutionDir)..\tools\wspbuilder\wspbuilder" -SolutionPath "$(ProjectDir)." -Outputpath "$(ProjectDir)." -WSPName "MeinKunde.wsp" -Excludepaths ".svn" -Cleanup False

Achtung, im Build event findet sich das Parameter -Excludepaths ".svn" . Dies ist natürlich nur dann notwendig, wenn Subversion verwendet wird. Für CVS muss es -Excludepaths "CVS" lauten. Hingegen ist dieses Paremeter für Perforce oder Microsoft Team Foundation Server nicht notwendig.

7) Nun muss noch der Installer konfiguriert werden; Dies ist etwas aufwändiger. Als erstes kopieren wir den Installer aus dem Tools\spsi Verzeichnis in das Projektverzeichnis:

8) Der nächste Schritt ist nun die Anpassung der Setup.exe.config, die wir erst einmal zur Solution hinzufügen:

9) Nun nehmen wir die entsprechenden Einstellungen vor. Die einzelnen Optionen sind genauer unter /Tools/spsi/readme.html beschrieben, daher werde ich hier nur die wichtigsten Anpassungen nennen:

  • Require setzten, wenn MOSS erforderlich sein soll (statt nur WSS)
  • SolutionId setzen (der korrekter Wert findet sich in der solutionid.txt; siehe Bild bei (8))
  • SolutionFile setzen, hier auf MeinKunde.wsp (Wert wie unter (6) beim -WSPName parameter)
  • SolutionTitle setzen, wir verwenden hier "MeinKunde für SharePoint"

10) So, wenn wir jetzt das Projekt einmal bauen lassen, dann sollte es bereits funktionieren:

11) So, im Grunde genommen ist es jetzt geschafft. Wir können jetzt einfach beliebig viele WebParts zum Projekt hinzufügen. Hierzu rechte Maustaste auf das Projekt; nicht auf einen der Unterordner, und auf Add > NewItem klicken.

Name: MyDemo1

Title: Mein DemoWebPart 1
Description: Test Web Part, der eine Möglichkeit zur Erstellung einfacher WebParts zeigen soll.
Scope: Web

12) Daraufhin wurde jetzt ein neues Feature und ein neuer WebPart erzeugt:

Der WebPart Code selbst befindet sich in MyDemo1.cs . Details sind eine andere Geschichte, daher sei nur gesagt, dass der Standard-Code ein "Hello World!" ausgibt.

Wir kompilieren jetzt einfach und führen das Setup aus.

13) Jetzt sollte das Feature im SharePoint zu finden sein (unter Webseitenaktionen > Webseiteneinstellungen > Websitefeatures); Wir aktivieren es auch gleich:

14) Auf einer beliebigen WebPart Seite sollte es sich nun einfügen lassen:

15) Als letztes sehen wir nun auch das erwartete Ergebnis:

Um weitere WebParts hinzuzufügen beginnt man den Vorgang einfach ab (11) wieder. Die komplette Lösung findet sich in der ZIP Datei: MyWebpartDemo ZIP Datei .

 

SQL Server 2008 CTP6 verfügbar

by fkollmann 2/22/2008 12:00:00 PM

Endlich steht nun auch der CTP6 vom SQL Server zur Verfügung. Hier der Link zur Express Version:

http://www.microsoft.com/downloads/details.aspx?FamilyId=3BF4C5CA-B905-4EBC-8901-1D4C1D1DA884&displaylang=en#Instructions

Das Besondere: Diese Version ist endlich Feature-complete. Leider wird die Final trotzdem vermutlich erst gegen Herbst kommen. Wann genau aber SharePoint die neuen Filestreams unterstützen wird ist derzeit nocht nicht ganz klar.

UPDATE: Erst SharePoint 2009 wird die neuen Filestreams aktiv nutzen.

SharePoint fragt nach Benutzerdaten beim Öffnen einer Datei (nur!) unter Vista

by fkollmann 2/13/2008 11:59:00 AM

Hierbei handelt es sich um ein Problem, das eventuell auftreten kann.

Falls jemand auf das Problem stoßen sollte, kann er folgenden Hotfix verwenden: http://support.microsoft.com/?id=943280 .

Dieser Hotfix muss allerdings angefordert werden.

Windows Server 2008: Interne Datenbank nutzen

by fkollmann 2/8/2008 11:58:00 AM

Der Windows Server 2008 verfügt über eine interne Datenbank, auf die man normalerweise aber nicht zugreifen kann. Mit den folgenden Schritten geht es aber doch:

1) SQL Server 2005 Management Studio installieren (ohne Server!)

2) SQL Server Configuration Manager öffnen

3) Die Eigenschaften der internen Datenbankinstanz öffnen, und HideInstance abschalten:

4) Für die Instanz der internen Datenbank Named Pipes als Protokoll zulassen:

5) Interne Datenbank neu starten:

6) Alias einrichten, da sonst der Zugriff über den Shared Memory Provider gesperrt wird:

Aliasname: ##SSEE
Pipename: \\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query
Protokoll: Named Pipes
Server: .

7) Im SQL Management Studio nun einfach verbinden :D :

Variationen direkt wechseln

by fkollmann 2/7/2008 11:54:00 AM

Damit man von einer Variation/Sprachvariante einer Seite direkt in eine andere Wechseln kann, bietet SharePoint ein Menü an, was aber noch einzubinden ist:

Um das Menü in eine Seite einzubinden, ist das Vorgehen relativ simpel: registrieren und verwenden:

<%@ Register TagPrefix="PublishingVariations" TagName="VariationsLabelMenu" src="~/_controltemplates/VariationsLabelMenu.ascx" mce_src="~/_controltemplates/VariationsLabelMenu.ascx" %>

<PublishingVariations:VariationsLabelMenu id="labelmenu1" runat="server"/>

Leider ist das Control selbst aber auskommentiert, daher muss die folgenden Datei bearbeitet werden: \12\TEMPLATE\CONTROLTEMPLATES\VariationsLabelMenu.ascx . Hier einfach die auskommentierten Zeilen wieder einkommentieren, sprich <%-- und --%> löschen.

Das wars schon.

Der Grund, wieso das Control deaktiviert wurde von Microsoft ist by Design: Jede Seite, die auch Anonym zugreifbar ist, darf für Ihren Aufruf nur einen Datenbankzugriff brauchen. Dieses Control würde weitere verwenden, um die Variationen zu ermitteln, und deswegen wurde es deaktiviert.