Datenbankeinträge auf in SharePoint über ein Page Layout automatisch filtern

Ausgangspunkt: Wir haben eine Datenbanktabelle mit Einträgen und ein SharePoint Seitenlayout, welches in einer Eigenschaft einen Filterwert aus der Datenbanktabelle enthält. Nun sollen auf dem Seitenlayout die Datenbankeinträge automatisch dargestellt und gefiltert werden.

Die Entwickler-Lösung ist die Erstellung eines Custom Field Controls mit Visual Studio (Microsoft SharePoint 2007 im Einsatz, Kapitel 15). Im Internet gibt’s dazu auch noch mehrere Beispiele wie zum Beispiel das Media Player Custom Field Control (http://msdn.microsoft.com/en-us/library/aa981226.aspx).

Mit dem SharePoint Designer geht’s aber auch:

Fügen Sie in Ihrer Page innerhalb desselben Content-Controls (vermutlich in PlaceHolderMain) ein oder mehrere FieldValue-Controls hinzu, nach denen Sie dann filtern wollen. Die Eigenschaft FieldName gibt den internen Namen des Feldes an:

<SharePointWebControls:FieldValue ID="PageTitle" FieldName="Title" runat="server"/>

Das folgende sollte in der Seite eigentlich oben schon enthalten sein, ist aber für vorstehende Anweisung notwendig, deshalb hier der Vollständigkeit halber:

<%@ Register TagPrefix="SharePointWebControls" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

Dann fügen Sie aus der Toolbox eine GridView hinzu. Bei der Konfiguration über das SmartTag am Control erstellen Sie eine neue SqlDataSource, in dem Sie bei Datenquelle auf „Neue Datenquelle“ klicken und dann „Datenbank“ auswählen.

image

image

Bei der Konfiguration der Verbindung ist darauf zu achten, dass Sie sich über SQL-Authentifizierung an der Datenbank anmelden. Bei der Konfiguration der Abfrage, können Sie über „Where“ einen Filter auf das FieldValue-Control setzen.

image

Wenn es dort nicht angezeigt wird, einfach im Code selbst setzen:

<asp:SqlDataSource runat="server" id="SqlDataSource1" ProviderName="System.Data.SqlClient" ConnectionString="Data Source=hccth;Initial Catalog=Northwind;Persist Security Info=True;User ID=northwinduser;Password=123qwe@" SelectCommand="SELECT [CompanyName], [ContactName], [ContactTitle], [Phone], [Fax] FROM [Customers] WHERE ([CustomerID] = @CustomerID)">

<SelectParameters>

<asp:ControlParameter ControlID="PageTitle" PropertyName="ItemFieldValue " Name="CustomerID" Type="String" />

</SelectParameters>

</asp:SqlDataSource>

Nun das Seitenlayout abspeichern, veröffentlichen und eine Beispielseite erstellen:

image

Veröffentlicht unter Uncategorized | Kommentar hinterlassen

InfoPath Formulare in einem Webpart darstellen

Wenn Sie InfoPath Forms Services einsetzen, um Ihre Formulare mit InfoPath innerhalb Ihrer SharePoint-Seite im Browser ausfüllen zu können, haben Sie evtl. den Wunsch, das Formular als Webpart als Teil einer Seite darzustellen. Dies könnte bei einem einfachen Umfrage Webpart der Fall sein. Dazu muss lediglich das InfoPath Webpart als „SafeControl“ in der web.config eingetragen und der Webpartkatalog mit dem XmlFormView-Webpart aufgefüllt werden.

Folgenden Eintrag in der web.config (C:\inetpub\wwwroot\wss\VirtualDirectories\PORT) eintragen:

<SafeControl Assembly="Microsoft.Office.InfoPath.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.Office.InfoPath.Server.Controls" TypeName="XmlFormView" Safe="True" />

Danach die Websitesammlung öffnen, und über Websiteaktionen, Websiteeinstellungen, Alle Websiteeinstellungen ändern auf die Websiteeinstellungen wechseln. Öffnen Sie den Webpart-Katalog über den Link Webparts im Bereich Gallerien. Klicken Sie auf Neu und wählen Sie Microsoft.Office.InfoPath.Server.Controls.XmlFormView aus. Klicken Sie auf Katalog auffüllen.

Öffnen Sie die Webpart-Beschreibung über clip_image001 bei XmlFormView.webpart, um Titel, Beschreibung und Kategorie anzupassen.

clip_image003

Dann in die gewünschte Ziel-Seite wechseln und über Websiteaktionen, Seite bearbeiten in der gewünschten Zone auf Webpart hinzufügen klicken. Im angezeigten Dialog suchen Sie das hinzugefügte Webpart und klicken auf OK:

clip_image005

Schließen Sie den angezeigten InfoPath Forms Fehler!

clip_image007

Dann im Webpart-Menü auf Freigegebenes Webpart bearbeiten klicken.

clip_image009

Dann die Einstellungen für Ziel und XSN-Speicherort angeben und vor allem abschließend den EditingStatus auf Editing stellen.

clip_image011

Veröffentlicht unter Uncategorized | Kommentar hinterlassen

SharePoint Workflow Library for ASP.NET Forms

Die SharePoint Workflow Library for ASP.NET Forms wurde auf http://www.codeplex.com/spwf veröffentlicht. Damit sind Assoziierungs-, Initiierungs- und Modifizierungsformulare einfach zu erstellen. Die Setup-Datei enthält ebenfalls ein ausführliches Tutorial zur Verwendung der Bibliothek.
 
Weitere Informationen und Hilfe im Forum gibts wie immer auf sharepointbook.de
Veröffentlicht unter SharePoint 2007 | Kommentar hinterlassen

Folienbibliothek zeigt keine Miniaturansicht (Thumbnails) an

Nach dem Veröffentlichen von Folien kann unter Umständen die Miniaturansicht der Folie nicht angezeigt werden:
082508_2259_Folienbibli1

Dies kann der Fall sein, wenn für die Folienbibliothek folgende Einstellungen vorgenommen wurden:

  • Versionierung aktiviert:
    082508_2259_Folienbibli2
  • Auschecken erfordern aktiviert:
    082508_2259_Folienbibli3

Folien einchecken und schon werden die Miniaturansichten sichtbar.

Veröffentlicht unter SharePoint 2007 | Kommentar hinterlassen

Hinzufügen eines Workflows in ein SmartTemplate Project

Damit in einem SmartTemplate Project auch mit dem Designer für Workflows gearbeitet werden kann, müssen einige kleine Veränderungen an der Projektdatei (.csproj) vorgenommen werden:

  1. Im Element <Project><PropertyGroup> folgenden Eintrag hinzufügen:
    <ProjectTypeGuids>{14822709-B5A1-4724-98CA-57A101D1B079};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
    Dieser Eintrag teilt mit, dass das Projekt ein C# und ein Workflow Projekt ist.
  2. Im Element <Project> folgenden Import hinzufügen:
    <Import Project="$(MSBuildExtensionsPath)\Microsoft\Windows Workflow Foundation\v3.5\Workflow.Targets" />
    Dadurch werden auch die entsprechenden Workflow-Items bei "New Item" angeboten.
  3. Projektdatei abspeichern und dann in Visual Studio das Projekt laden. Fertig.
Veröffentlicht unter SharePoint 2007 | Kommentar hinterlassen

ASP.NET Steuerelement mit in GDI+ gezeichneten Bildern

das Zeichnen geht ja in .NET 2.0 mit GDI+, egal ob im Web oder in Windows. Nur dass im Web nicht einfach so auf ein Steuerelement gezeichnet werden kann. Die einzige Möglichkeit hierzu ist die Erstellung eines HTTP-Handlers, der bei Anforderung ein Bitmap erzeugt und das gezeichnete Ergebnis in den Ausgabe-Stream schreibt. Über die URL kann da Bild parametrisiert werden. Im Webpart oder im ASP.NET Steuerelement wird dann einfach ein Image hinzugefügt, dessen ImageUrl auf die Adresse zeigt, auf die der HTTP-Handler antwortet. Hier das ganze kurz in den einzelnen Schritten:

  1. Erstellen eines HTTP-Handlers: Es gibt hierbei verschiedene Möglichkeiten:
    1. Generischer Handler (Endung ashx). Der Pfad ist fest durch den Dateinamen bestimmt. Parametrisierung ist nur über den QueryString oder die Session möglich.
    2. Eine Klasse, die die Schnittstelle System.Web.IHttpHandler implementiert. Die Klasse wird dann in der web.config auf einen entsprechenden Pfad konfiguriert, für den der Handler antworten soll. (An der Stelle ist das flexibler, was den Pfad angeht.)
  2. Ich nehme auf die Schnelle mal den generischen HTTP-Handler:
  3. Ich implementiere den HTTP-Handler, der in dem einfachen Beispiel einfach nur ein 100×100-Bild mit einem einfarbigen Hintergrund zeichnet. Der Farbcode kommt aus dem QueryString.

    <%@ WebHandler Language="C#" Class="Image" %>

     

    using System;

    using System.Web;

    using System.Drawing;

    using System.Drawing.Imaging;

     

    public class Image : System.Web.IHttpHandler {

     

    public void ProcessRequest (HttpContext context) {

    context.Response.ContentType = "image/jpeg";

    Bitmap b = new Bitmap(100, 100);

    Graphics g = Graphics.FromImage(b);

    int red = 0;

    int.TryParse(context.Request.QueryString["red"], out red);

    int green = 0;

    int.TryParse(context.Request.QueryString["green"], out green);

    int blue = 0;

    int.TryParse(context.Request.QueryString["blue"], out blue);

    Brush br = new SolidBrush(Color.FromArgb(red, green, blue));

    g.FillRectangle(br, new Rectangle(0, 0, 100, 100));

    b.Save(context.Response.OutputStream, ImageFormat.Jpeg);

    }

     

    public bool IsReusable {

    get {

    return false;

    }

    }

    }

  4. Dann einfach nur noch ein Image in die Seite einfügen und schon wird das gezeichnete auch im Web angezeigt:

    <div>

    <asp:Image ID="sharepointbookdeForecolor" runat="server" ImageUrl="/GDIImage/Image.ashx?red=230&green=158&blue=53" />

    <br />

    <asp:Image ID="sharepointbookdeBackcolor" runat="server" ImageUrl="/GDIImage/Image.ashx?red=94&green=95&blue=98" />

    </div>


  5. Ergebnis:

 

Veröffentlicht unter ASP.NET 2.0 | Kommentar hinterlassen

SharePoint 2007 – Der schnelle Einstieg

Addison-Wesley veröffentlichte im Februar das Buch "SharePoint 2007 – Der schnelle Einstieg". Nach einer Einführung in die SharePoint-Technologien, wird über den Aufbau von Websites in WSS 3.0 und MOSS 2007 diskutiert. Die Besonderheiten des MOSS 2007 erläutert Kapitel 3. Alles über Listen und Bibliotheken erfährt man in den Kapiteln 4 bis 6. Kapitel 7 zeigt, was SharePoint in den Bereichen der Workflows und Informationsverwaltungsrichtlinien out-of-the-box drauf hat. Den Aufbau eigener Seiten mit Webparts zeigt das Kapitel 8. Es werden ebenfalls Webpart-Galerien und die Verwaltung von Webparts angesprochen. Das Thema der Personalisierung durch beispielsweise Benachrichtigungen, "Meine Website", "Meine Hyperlinks" oder auch die Personalisierung der einzelnen Seiten zeigt Kapitel 9.
Die beiden letzten Kapitel 10 und 11 zeigen Beispiellösungen für eine gegebene Problematik oder Aufgabenstellung. Ersteres gibt ein Beispiel für die Verwaltung von Dokumenten, zweiteres über die Zusammenarbeit in einem Projekt. Zu bemerken bleibt, dass die vorgestellten Lösungsansätze weder den SharePoint Designer noch eine Eigenentwicklung im Visual Studio benötigen. Es wird mit SharePoint-Boardmitteln gearbeitet. Dies macht das Buch für jeden interessant!
Veröffentlicht unter Uncategorized | Kommentar hinterlassen

Hilfe, ein Virus in SharePoint?

Damit Sie den Satz "Hilfe, ein Virus in SharePoint" hoffentlich niemals sagen/hören müssen, können Sie zum Beispiel folgende Sicherheitsmechanismen verwenden:

  • Gesperrte Dateitypen: Sperren Sie alle Dateitypen, die Sie nicht erlauben müssen!

    Öffnen Sie die SharePoint 3.0 Zentraladministration und klicken Sie im Bereich "Sicherheitskonfiguration" auf "Gesperrte Dateitypen". Geben Sie je Zeile eine gesperrte Dateiendung ein. Dateiendungen wie .exe, .com, .cmd, … sind selbstverständlich by default gesperrt.

  • Sichern Sie Ihre SharePoint-Umgebung mit Microsoft Forefront Security for SharePoint ab. Dieses Produkt kann alle hochzuladenden Dateien nach Viren scannen und dabei auch mehrere Engines nutzen.

Scan Jobs konfigurieren:

Antivirus-Einstellungen je Scan Job festlegen:

Updates für Scan Engines konfigurieren und verwalten:

In der SharePoint 3.0 Zentraladministration unter Vorgänge -> Sicherheitskonfiguration -> Antivirus können die Einstellungen für das Virus-Scannen vorgenommen werden. Bestimmen Sie, wann das Scannen vorgenommen werden soll und was mit infizierten Dateien passieren soll:

    Ist Forefront Security for SharePoint dann korrekt eingebunden, werden Viren beim Hochladen erkannt und Dateien wenn möglich (und konfiguriert) gereinigt.

    Nach Scan gelöscht:

Nach Scan gereinigt und dann in der Bibliothek abgelegt. Mit "OK" geht’s regulär weiter.

Berichte ermöglichen einen Überblick über die Anzahl der gescannten Dateien und der Resultate der Scans:

Veröffentlicht unter SharePoint 2007 | Kommentar hinterlassen

Buch „Microsoft SharePoint 2007 im Einsatz“ veröffentlicht

Das Buch "Microsoft SharePoint 2007 im Einsatz" ist fertig. Es richtet sich sowohl an Anwender, Entscheider, Administratoren als auch Entwickler gleichermaßen und ist in drei Teile aufgeteilt. Mehr dazu im Inhaltsverzeichnis. Erfahren Sie mit diesem Buch, wie Sie SharePoint einsetzen können, welche Funktionen und Möglichkeiten welche Version mit sich bringt und an welchen Stellen die Schrauben des Systems sind, sowohl für Entwickler als auch für Administratoren.

Auf der Deutschen SharePoint-Konferenz in Frankfurt am Main überreichte die Lektorin Sylvia Hasselbach (mitte) von Addison-Wesley das allererste Exemplar an Torsten Mollien (links) und mich (rechts).

Bestellt werden kann das Buch unter: www.addison-wesley.de

Veröffentlicht unter Bücher | 1 Kommentar

SharePoint Designer 2007 Workflow Designer – Zeichenfolge verketten

Um in einem Workflow, den man über den Workflow Designer im Microsoft Office SharePoint Designer 2007 erstellt, beliebige Werte zu verketten um diese dann später beispielsweise als Wert für ein zu erstellendes Listenelement zu nutzen, verwendet man einfach die Aktion "".

In einem Beispiel soll der Inhalt einer Variablen, die man aus der Workflowinitiierung erhält mit Werten aus dem aktuellen Element verkettet werden:

Ich lege zunächst einen Initiierungsparameter für den Workflow an, der die Dringlichkeit in Form einer Auswahl angibt:

Danach klicke ich auf "Weiter" und gebe die möglichen Werte an:

Auf "Fertig stellen" und dann auf "OK" klicken.

Der Workflow wird "manuell gestartet" und für eine Dokumentbibliothek erstellt.

"Weiter"!

Aktion "Dynamische Zeichenfolge erstellen" hinzufügen:

Auf "dynamische Zeichenfolge" klicken und mittels Nachschlagevorgängen die Zeichenfolge verketten:

Als nächstes die Variable bestimmen, in die das Ergebnis des Verkettens geschrieben werden soll.

Nun steht das Ergebnis in einer Workflow Variable zur Verfügung und kann verwendet werden, zum Beispiel, um eine Aufgabe zu erstellen und deren Titel diese Variable zuzuweisen:

Das Ergebnis im Workflow Designer sieht dann wie folgt aus:

Veröffentlicht unter SharePoint Designer 2007 | Kommentar hinterlassen