Montag, 12. Oktober 2009

Mit dem Data View Web Part eine SharePoint Liste durchsuchen

Wir bekamen die Projektanforderung, dass innerhalb einer SharePoint Liste in genau einem Feld nach Werten gesucht werden soll. Natürlich dachten wir hier zuerst an den Search Server bzw. an die Suche innerhalb von MOSS.

Leider fanden wir keinen Weg, dass innerhalb einer SharePoint Liste nach nur genau einem Feld und dessen Werten gesucht werden kann. Falls es diesen Weg doch gibt, dann sind wir sehr neugierig auf die Lösung.

Erst ein Artikel, welcher unter http://philwicklund.com/archive/2009/04/11/using-the-data-view-web-part-to-search-a-sharepoint-list.aspx zu finden ist, konnte uns weiterhelfen.

Die Anforderungen waren:

  • Suche nach Werten eines Feldes (Nachname) innerhalb einer Liste (hier Kontaktliste)
  • Wildcard Suche ermöglichen
  • Groß- und Kleinschreibung darf keine Rolle spielen
  • und funktionieren muss es auf WSS und MOSS

WSS liefert von Hause aus keinerlei Such Web Parts und daher mussten wir auf die vorhandenen Standardmittel zurück greifen. Die erforderlichen Schritte waren nun im Einzelnen:

1. Erstellen einer neuen Web Part Seite, hier die Data View aufbauen und an die richtige Stelle in der Web Part Seite verschieben. Dieses gilt als Grundbasis für die gewünschte Liste und entspricht quasi dem formatierten Suchergebnis.

2. Ein “Form Web Part” auf der Seite einfügen, die Bezeichnung des Buttons über die Eigenschaften ändern und z.B. auch eine feste Breite mit 250px wählen.

3. Eine Verbindung zwischen dem Form Web Part und der Data View herstellen, in dem im Form Web Part eine “Web Part Connection …” erstellt wird. Im ersten Schritt soll das Form Web Part seine Werte weitergeben (“Provide form values to”) und als Ziel geben wir natürlich das Data View Web Part an und es soll Werte entgegen nehmen (“Get Filter Values From”). Zum Schluss müssen wir dem Data View Web Part noch mitteilen, für welches Feld wir entsprechende Werte übergeben. Dabei müssen wir aus dem Form Web Part das Feld “T1” in unserem Beispiel dem Feld “Nachname” zuordnen. Den Assistenten nun beenden und die Verknüpfung ist gesetzt.

Damit war die erste Aufgabe erfüllt. Hier sollte allerdings die Möglichkeit nun eingebaut werden, die Sucheingabe wieder zu löschen, dass auch alle Einträge der Liste angezeigt werden können. Wenn jetzt erneut gesucht wird mit einem anderen Begriff, dann wird das vorherige Suchergebnis als Basis für die erneute Suche genommen und nicht die komplette Liste. Daher kann ein einfacher Link eingesetzt werden, mit welchem wir das Suchergebnis zurücksetzen. Als Link geben wir die Seite an, auf welcher sich die Suche befindet.

Wildcard Suche und keine Unterscheidung von Groß- und Kleinschreibung ist ohne Eingriff in den Quellcode nicht möglich und daher auch nicht einfach.

4. Dazu muss ein Parameter in der Data View erstellt werden mittels SharePoint Designer. Dafür auf die Eigenschaften klicken und “Parameters” auswählen. Einen neuen Parameter mit sprechendem Namen anlegen (z.B. “Suchbegriff").

5. Anpassung der Web Part Connections, hier nun für das Data View Web Part als Target Action “Get Parameters From” auswählen und danach “T1” aus dem Form Web Part dem Parameter “Suchbegriff” zuordnen.

6. Jetzt muss der Quellcode verändert werden. Dazu muss im Quellcode das Data View Web Parts nach name=”Rows” gesucht werden. Beim Suchtreffer sollte der folgende weitere Quellcode zu finden sein: select=”/dsQueryResponse/Rows/Row”. Dieser wird wie folgt verändert: select=”/dsQueryResponse/Rows/Row[contains(@Nachname, $Suchbegriff)]”. Das Feld @Nachname ist das Feld in der Liste, nachdem gesucht werden soll, $Suchbegriff ist der Parameter aus dem Data View. Nun sollte die Wildcard Suche funktionieren.

Nun fehlt nur noch die Anforderung, dass kein Unterschied zwischen Groß- und Kleinschreibung gemacht werden soll. Auch hier ist Quellcode Anpassungen notwendig.

7. Direkt vor der Zeile, welche in Punkt 6 verändert wurde, werden die folgenden Zeilen eingefügt:

<xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyzöäüß'" />
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZÖÄÜß'" />
<xsl:variable name="searchcaps" select="translate($Suchbegriff, $smallcase, $uppercase)" />

Diese drei Zeilen sorgen dafür, dass alle eingegebenen Zeichen innerhalb des Suchfeldes in Großbuchstaben umgewandelt werden. Doch damit das Suchfeld “Nachname” ebenfalls in Großbuchstaben umgewandelt wird, muss die Zeile aus Punkt 6 wie folgt verändert werden:

select=”/dsQueryResponse/Rows/Row[contains(translate(@Nachname, $smallcase, $uppercase), $searchcaps)]”

Nun sollte die Groß- und Kleinschreibung keinen Unterschied mehr ausmachen.

Zusammenfassung: Wir können uns dem Verfasser der Vorlage für diesen Blogbeitrag nur anschließen, das Data View Web Part in Verbindung mit dem Form Web Part lässt es zu, schöne kleine Suchanwendungen zu entwickeln, bei welchen die SharePoint Suche leider nicht helfen kann. Wenn Sie interessante Anwendungsfälle haben oder schon damit umgesetzt haben, würden wir über ein kleines Feedback unter sharepoint (at) s-pi.de freuen.

Mittwoch, 30. September 2009

Bericht zum 5. Treffen der UG Stuttgart

siehe http://tinyurl.com/y8vsgjp und http://tinyurl.com/yda3c3m

Auch bei unserem 5. Treffen konnten wir wieder mehr als 20 Teilnehmer begrüßen.

Dominik Kovacic-Voß (Siller Portal Integrators GmbH) stellte am Beispiel eines Raumbelegung-Systems die Integration und Anwendung von „Nintex Workflow 2007" sehr anschaulich vor. Direkt im Anschluß ergänzte Alexander Ziegler (Alegri International Südwest GmbH) das Thema Nintex durch die Erstellung eines Workflows zur „Publikation von Dokumenten" im Rahmen einer Live-Demo.

An dieser Stelle nochmals herzlichen Dank an die Referenten, die das sicherlich sehr umfangreiche Thema „Nintex Workflow 2007" anschaulich und verständlich präsentierten.

Ebenfalls einen herzlichen Dank an die Gastgeber, Herrn Ata Güleryüz und Herrn Kadir Akyol (beide Bosch Mahle TurboSystems).

Das nächste Treffen haben wir für den 27.10.2009 um 18:30 Uhr geplant. Als Themen sind „IBM Tivoli Storage Manager for Microsoft SharePoint" und natürlich „Was erwartet uns in SharePoint 2010" geplant. Der endgültige Veranstaltungsort wird noch bekannt gegeben.

Dienstag, 1. September 2009

Pressemeldung September 2009: Die Siller AG lagert ihre Online- und Portalaktivitäten aus

Neugründung der Siller Portal Integrators GmbH und Abspaltung des ECM-Bereiches von der Siller AG.

Die Siller AG ist ein Heilbronner Softwarehaus und IT-Dienstleister für Handelsunternehmen der Konsumgüter- und Automobilbranche. Seit 1975 entwickelt und vertreibt die Siller AG Warenwirtschaftssysteme und sorgt für den sicheren Betrieb bei ihren Kunden. Bereits 1995 hat die Siller AG das Thema „Webbasierte Portallösungen“ aufgegriffen und bis zum heutigen Tag diesen Online Portal – Bereich als zweites Standbein des Unternehmens entwickelt.

Im Zuge einer Unternehmensabspaltung wurde der gesamte Online Portal-Bereich rückwirkend zum 01.04.2009 nun von der Siller AG in die neu gegründete Siller Portal Integrators GmbH abgespalten. Der gesamte Portal Betrieb inklusive der Mitarbeiter wird von der Siller Portal Integrators GmbH übernommen.
Da der operative Betrieb des Portal Bereiches durch die neue Gesellschaft unverändert weiterläuft, ergeben sich für die Portal-Kunden keine Änderungen.

Diese Firmenabspaltung erlaubt es den beiden Unternehmen ihr operatives Geschäft noch mehr auf die Anforderungen ihrer Kunden auszurichten. Darüber hinaus werden die strategische Ausrichtung und die Kommunikation in den Markt, hin zu Interessenten, sowie Geschäftspartnern, durch die eindeutige Aufgabenzuordnung wesentlich klarer und einfacher.

„Mit der Konzentration auf die Kernaufgaben in den beiden Unternehmen können wir die Qualität unserer Produkte und der zu erbringenden Dienstleitungen noch weiter steigern“, sind sich Herr Professor Siller, Vorstandsvorsitzender der Siller AG und die beiden Geschäftsführer der Siller Portal Integrators GmbH Herr Jörn Bülow und Herr Ralf Michi einig.

Die Siller AG
Die Siller AG entwickelt seit 1975 Warenwirtschaftslösungen für Handelsunternehmen der Fashion- und Konsumgüterbranche. Zu den Hauptkunden zählen die Intersport Länderorganisationen in Deutschland, Frankreich und der Schweiz. Bereits seit 2006 besteht eine Entwicklungs- und Vertriebspartnerschaft mit SAP in Walldorf. Zukünftig wird sich die Siller AG für Ihre Kundenlösungen vornehmlich auf die ERP-Plattform aus Walldorf konzentrieren mit dem Ziel auch für mittelständische Handelsunternehmen diese Systeme optimal zugänglich zu machen.

Die Siller Portal Integrators GmbH
Die Siller Portal Integrators GmbH übernimmt den ECM Bereich der Siller AG und stellt den nahtlosen Übergang und den Betrieb für die Portal-Kunden sicher. Bereits seit 1995 entstehen in diesem Bereich Unternehmensportale von hohem Nutzen in der Informationenverteilung, Kommunikation und der Integration von geschäftskritischen Prozessen. Die Entwicklung der Portallösungen stützt sich seit jeher auf die Basistechnologien von Microsoft. Bereits zur Markteinführung der Microsoft Windows Sharepoint Services 3.0 und des Microsoft Office Sharepoint Server 2007 wurde diese Technologie aufgegriffen und dient seither als Basisplattform für Portallösungen und die Integration von ERP-Geschäftsprozessen. Zukünftig wird sich die Siller PortalIntegrators GmbH weiter auf die Plattformtechnologien von Microsoft konzentrieren und sämtliche sich ergebenden Integrationspotentiale für ihre Kunden erschließen.

Quelle: http://www.s-pi.de/unternehmen/presseveroeffentlichungen.htm

Donnerstag, 16. Juli 2009

SharePoint UserGroup Stuttgart: 5. Treffen, SharePointCommunity.de und XING

Diesen Newsletter haben wir gestern an die bisherigen Teilnehmer der SharePoint UserGroup Stuttgart verschickt:

Hallo an alle Freunde und Teilnehmer der SharePoint UserGroup Stuttgart,

heute gibt es mehrere kleine Updates, welche für unsere Gruppe nicht ganz unwichtig sind.

5. Treffen

Unser nächstes Treffen haben wir geplant für Dienstag, den 22.09.2009 um 18:30 Uhr. Dieses Mal stellt uns Bosch Mahle TurboSystems seine Örtlichkeiten zur Verfügung, vielen Dank dafür! Das Thema wird die Vorstellung von „Nintex Workflow 2007“ der Firma Nintex sein. Dieses Zusatzprogramm für SharePoint ist im Bereich Workflow gerade ein sehr heißes Thema, daher freuen wir uns, dass wir Ihnen reale Anwendungsbeispiele zeigen können. Hr. Kemmler von Alegri International Service GmbH sowie wir selbst (Siller AG) werden über dieses Thema referieren. Die Adresse der Örtlichkeiten lautet:

Bosch Mahle TurboSystems
Löwentorstraße 68
70376 Stuttgart

Die Teilnahme ist wie immer für jedermann offen, eine Anmeldung wird aber erbeten an ug-stuttgart@mysharepoint.de.

Wir wissen, dass parallel die ShareConnect09 stattfinden wird. Aufgrund der Sommerferien und Urlaube haben wir uns dennoch für diesen Termin entschieden und hoffen natürlich dennoch auf zahlreiche Anmeldungen.

Anlaufstellen für die UserGroup

Michael Greth mit seiner SharePointCommunity Seite ermöglicht uns endlich, auf einer schönen Plattform unsere Termine und wichtigsten Neuigkeiten rund um die UserGroup und SharePoint selbst zu veröffentlichen. Dies werden wir auch ab sofort nutzen. Es ist nicht unser Ziel, mit Emailnewslettern wie diesen die neusten Informationen zu verteilen, sondern die gebotene Plattform für eine breitere Öffentlichkeit zu benutzen. Daher bitten wir Sie in der Zukunft, alles Wichtige rund um die UserGroup und SharePoint auf folgender Seite abzurufen:

http://sharepointcommunity.de/groups/stuttgart/default.aspx

Für alle diejenigen unter Ihnen, welche in XING ein Profil haben und dort vielleicht auch aktiv sind, haben wir eine XING Gruppe angelegt für die UserGroup. Auch hier werden wir die Termine veröffentlichen und bieten Ihnen XING damit als Alternative an. Sie finden diese unter:

https://www.xing.com/net/sharepoint_ug_stuttgart

Hier können Sie ebenfalls Ihre Teilnahme an einem Treffen signalisieren, in dem Sie die eingestellten Termine in XING öffnen und Ihre Teilnahme bestätigen, ablehnen oder eventuell kommen möchten.

Sollten Sie zum Treffen, zur SharePointCommunity.de oder zu XING noch Fragen haben, können Sie sowohl Sven Pohl als auch mich selbst jederzeit kontaktieren (über unsere Emailadressen, die Emailadresse zur Anmeldung, über XING…).

Wir freuen uns auch über Ihr Feedback!

Mittwoch, 8. Juli 2009

Morgen iX SharePoint Day & 4. SharePoint UserGroup Stuttgart Treffen

Als kleine Erinnerung, morgen findet der iX SharePoint Day in Stuttgart statt (siehe http://www.sharepoint-day.de/). In zwei parallelen Tracks gibt es Informationen für Systemadministratoren und Entwickler sowie Case Studies.

Direkt im Anschluss und in den Räumlichkeiten des iX SharePoint Days findet das 4. Treffen der SharePoint User Group Stuttgart statt. Wir freuen uns u.a. Michael Greth, deutscher MVP Microsoft Office SharePoint Server, als Referenten gewinnen zu können. Nähere Infos unter http://sharepointcommunity.de/groups/stuttgart/blog/archive/2009/06/12/4-treffen-der-regionale-sharepoint-user-group-stuttgart.aspx.

Mittwoch, 17. Juni 2009

Deutschsprachige SharePointCommunity.de im neuen Glanze

An dieser Stelle sei der kleine Hinweis gestattet, dass die Internetpräsenz der deutschsprachigen SharePoint Community unter http://sharepointcommunity.de im neuen Glanze erstrahlt.

Besonders möchten wir auf die SharePoint UserGroup Stuttgart hinweisen (http://sharepointcommunity.de/groups/stuttgart/default.aspx), in welcher wir selbst mit aktiv sind. Das nächste Treffen wird am 09. Juli 2009 im Anschluss an die IX SharePoint Days in Stuttgart-Vaihingen stattfinden.

Dieses Mal haben wir sogar zwei Themen für Sie. Wir freuen uns, dass wir Michael Greth (Microsoft MVP Office SharePoint Server) als Sprecher gewinnen konnten, gleichzeitig wird die Firma Quest Software uns den Quest Recovery Manager for SharePoint vorstellen.

Anmeldungen bitte an ug-stuttgart@mysharepoint.de.

Montag, 15. Juni 2009

Bamboo SharePoint Navigators in SharePoint default.master einbinden

Im Rahmen eines Kundenprojektes kam die Anforderung, das Bamboo Produkt “SharePoint Navigators” als zusätzliches Navigationselement in eine MOSS Masterpage einzubauen. Dieses Navigationselement sollte auf jeder Seite sichtbar sein und sich aus einer entsprechenden Navigationsliste mit den Navigationspunkten versorgen.

Das Bamboo Produkt wird als WebPart (siehe http://tinyurl.com/mnh7rz) gekauft und eigentlich auch nur auf WebPart Seiten eingesetzt. Mit den folgenden Aktionen ist es möglich, das WebPart auch auf der default.master zu platzieren. Dies ist allerdings mit etwas Handarbeit und nur mit dem SharePoint Designer möglich. Voraussetzung ist in diesem Fall, dass die entsprechende Installation bereits auf dem WFE durchgeführt wurde und in unserem Fall lag die DLL im GAC.

Zuerst wird die default.master mit dem SharePoint Designer geöffnet. Im oberen Bereich die folgende Codezeile hinzufügen:

<%@ Register tagprefix="WebParts" namespace="Bamboo.WebParts" assembly="Bamboo.Navigators, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2cc91efae2d531be" %>

Danach muss das WebPart von Hand an der Stelle platziert werden, an welcher es angezeigt werden soll. Im WebPart gibt es mehrere Parameter (in rot markiert), welche unbedingt korrekt angegeben werden müssen, da ansonsten nur Fehlermeldung angezeigt werden.

<WebParts:NavigatorMenu runat="server" DisplayColumnName="Title" DisplayColumnDescription="Description" AllowHide="True" SiteURL="http://yourserver:port/sc" DisplayListName="Bamboo Navigators" ExportMode="All" PartImageLarge="" DisplayColumnParentMenu="ParentMenu" MissingAssembly="Dieses Webpart kann nicht importiert werden." FrameType="None" ID="NavigatorMenu1" IsIncludedFilter="" DetailLink="" AllowRemove="True" DisplayColumnSortOrder="SortOrder" PartOrder="0" ApplyChanges="True" HelpMode="Modeless" IsIncluded="True" DisplayViewName="Navigators View" Description="" FrameState="Normal" DisplayColumnURL="URL" Dir="Default" AllowZoneChange="True" AllowEdit="True" AllowMinimize="True" Title="" LanguageForDisplay="1033.English" DisplayListGUID="65649191-c1eb-400c-a5f2-5089b05bd0c5" DisplayViewGUID="0d98fafc-5bca-4884-8799-3b87c89683e2" HelpLink="" PartImageSmall="" AllowConnect="True" ConnectionID="00000000-0000-0000-0000-000000000000" ExportControlledProperties="True" ChromeType="None" SuppressWebPartChrome="False" DisplaySkin="Outlook" IsVisible="True" ZoneID="" __MarkupType="vsattributemarkup" __WebPartId="{1227a52b-01ea-42a2-a734-3d07e9a50695}" WebPart="true" Height="" Width=""></WebParts:NavigatorMenu>

Notwendige globale Einstellungen:

LanguageForDisplay: In welcher Sprache wird das Produkt angezeigt
SiteURL: Webseite, in welcher die Liste für die Navigationspunkte enthalten ist
DisplayListName: Name der Liste, in welcher die Navigationspunkte enthalten sind
DisplayListGUID: GUID der Liste, in welcher die Navigationspunkte enthalten sind
DisplayViewName: Name der View aus der Liste mit den Navigationspunkten, welche für die Konfiguration alle wichtigen Felder enthält
DisplayViewGUID: GUID der View aus der Navigationspunkteliste

Notwendige Listeneinstellungen:

DisplayColumnName: Feld für angezeigten Namen des Navigationspunktes
DisplayColumnDescription: Feld für Beschreibung des Navigationspunktes
DisplayColumnParentMenu: Feld für übergeordneter Navigationspunkt
DisplayColumnSortOrder: Feld für die Sortierungsreihenfolge
DisplayColumnURL: Feld für die URL des Navigationspunktes

Empfehlung: Am Besten einmal das WebPart auf einer WebPart Seite hinzufügen, dann wird automatisch eine Liste mit den notwendigen Feldern in der entsprechenden Webseite angelegt, diese kann als Vorlage für obige Parameter dann genutzt werden.