Einleitung

SharePoint und Google Wave 

Als ich mir vor ein paar Wochen das (recht lange) Video ansah, in dem Google sein neuestes Produkt Google Wave vorstellte, und zwar bereits in der Einleitung mit den Worten, es handle sich um eine "Collaboration Software", war mein erster Gedanke, was bedeutet das wohl für SharePoint. Offensichtlich ging es nicht nur mir so, denn inzwischen kann man einige Artikel im Netz finden, in denen diese beiden Produkte gegenübergestellt werden. Wird Wave also der SharePoint-Killer, wie es ein Blogger betitelt?

Um es vorweg zu nehmen, die SharePoint Community ist sich ziemlich einig, dass Wave keine Konkurrenz für SharePoint darstellt. Hierfür werden  verschiedene Gründe angeführt. Technische: Wave bietet kein Dokumentenmanagement, keine Workflows und auch weitere Features von SharePoint nicht, die für die Zusammenarbeit in Unternehmen essenziell sind. Organisatorische: es gibt keine „Google Gold Partner“, keine Google zertifizierte Entwickler, keine Google User Groups. Hier ist natürlich die Frage, ob diese Punkte eine gute Kollaborationssoftware ausmachen.

Auch ich bin zu dem Schluss gekommen, dass Wave SharePoint nicht ersetzen kann. Zur Begründung möchte ich auf ein paar der Features von Wave eingehen: Wave setzt neue Maßstäbe in der Kommunikation.  Von daher wird es auf jeden Fall ein ernsthaftes Konkurrenzprodukt zu den herkömmlichen Messenger-Systemen. Sofern diese in Unternehmen zur Kommunikation verwendet werden, ist ein Umstieg auf Wave sicher eine Überlegung wert. Mit Sicherheit wird Wave auch eine Alternative zur herkömmlichen Email werden. Google selbst bezeichnet Wave als ein System, das entstehen würde, wenn man Email heute neu erfinden würde. Was würden Sie verbessern, wenn Sie die Email heute neu erfinden würden? Ich würde zum Beispiel jegliche Möglichkeit ungewollter Spam unterbinden und wenn Wave das ermöglicht, ist aus meiner Sicht schon eine Menge erreicht und ich werde gerne einen Großteil meiner Kommunikation von Mail auf Wave verlagern. So gesehen ist Wave sicher auch ein Konkurrent zu Outlook. Wo überschneiden sich Wave und SharePoint? Hier sind sicher Wikis, Blogs, Foren und Bildergalerien zu nennen. Diese würde ich aber nicht als die Kernfeatures von SharePoint ansehen: es ist schön, dass sie mit dabei sind und man sie in den Workflow integrieren kann, aber sie sind ebenso Bestandteil vieler Content Management Systeme, ohne dass diese eine Konkurrenz zu SharePoint auf seinem Haupteinsatzgebiet darstellen.

SharePoint ist nicht der goldene Hammer, der Einsatz von Wave kann in bestimmten Gebieten durchaus Sinn machen, auf denen SharePoint (noch) nicht mithalten kann. So bleibt der Wunsch im Raum, dass die Ankündigung von Wave ein paar Entwickler aktiviert (bei Microsoft oder anderswo), die eine Wave-Integration für SharePoint schreiben. Dazu eine Anbindung an die Workflows von SharePoint und wir hätten das Beste aus zwei Welten. Lassen wir uns überraschen, MOSS 2010 steht vor der Tür.
Sonntag, 28. Juni 2009 15:26:00

Zum Beispiel Soll-Ist-Vergleiche 

Heute geht es um den Bereich der Planungstools. Kein Unternehmer, der nicht in irgendeiner Weise seine Budgets planen muss, der nicht den aktuellen Stand der Auftragseingänge und Umsätze mit einem geplanten Soll vergleicht. Solche Soll-Ist-Vergleiche sind unerlässlich für die erfolgreiche Unternehmensplanung, für Marketingstrategien, Produktmanagement und nicht selten ergeben sich daraus auch Tantiemen für die Mitarbeiter. Das Soll wird in der Regel am Jahresanfang geplant, meistens unter Zuhilfenahme der Vorjahreswerte, soweit vorhanden. Die Vorjahreswerte werden leicht angehoben und ergeben die Erwartungswerte für das kommende Jahr. Nach einem branchenspezifischen Schlüssel werden sie auf die Monatswerte herunter gebrochen und ergeben so die Vorgaben für die Mitarbeiter. Viele Planungstools enthalten kleine Ampeln, an denen der aktuelle Soll-Ist-Zustand abzulesen ist.
Excel enthält in der Version 2007 inzwischen alle Möglichkeiten um sich von solchen Planungstools unabhängig zu machen: mächtige Schnittstellen stellen die direkte Verbindung zwischen ERP-Systemen und Datenbanken her.  Die Kalkulationsmethoden für Prognosen und Vergleiche lassen sich Dank des flexiblen Formelmechanismus leicht an die unternehmerischen Bedürfnisse anpassen. Und die Ampeln zur Auswertung liefert Excel in vielfältiger Ausfertigung noch dazu.
Aber in der Regel sitzt der Manager nicht alleine im Cockpit des Unternehmens. Budgetplanung ist Teamarbeit und so ist es ein konsequenter Schritt, das Planungstool von Excel auf den SharePoint Server zu übertragen. Die Excel-Services des SharePoint Servers ermöglichen dies in idealer Weise. Die Tabellenblätter aus Excel inklusive der Berechnungsmethoden und Ampeln können komplett über den Browser angesprochen und im Team bearbeitet werden.

Leider gibt es diese Möglichkeit nur im SharePoint Portal Server, nicht in den SharePoint Services, so dass die beschriebene Lösung mit gewissen Kosten verbunden sind. Aber die Hersteller der oben genannten Planungstools lassen sich diese in der Regel teurer bezahlen.  

Dienstag, 15. April 2008 15:26:00

Mehrere Formularvorlagen in einer Formularbibliothek hinterlegen 

In einer Formularbibliothek mit Infopath-Formularen wird in der Regel eine Vorlage erstellt und diese in der Bibliothek veröffentlicht. Das Veröffentlichen ist sehr schön in Fabian's Blog beschrieben.  Bei dieser Methode wird in der Formularbibliothek eine Vorlage mit dem Namen template.xsn hinterlegt, beim Neuanlegen eines Formulars wird immer auf diese eine Datei zugegriffen.

Will man in einer Formularbibliothek mehrere Vorlagen hinterlegen, kann man das mit Websiteinhaltstypen erreichen.  Jeder Inhaltstyp wird dann durch einen Eintrag im Menü Neu repräsentiert. Standardmäßig sind Websiteinhaltstypen in der Bibliothek nicht zugelassen, deshalb gibt es nur den Standard-Inhaltstyp Formular mit der Beschreibung Dieses Formular ausfüllen.

Formularbibliothek für Inhaltstypen zulassen.

Einstellungen für Formularbibliothek  –>  Erweiterte Einstellungen  –> Verwaltung von Inhaltstypen zulassen auf Ja setzen

Inhaltstyp erstellen

Inhaltstypen werden auf Website-Ebene angelegt.  Das geht über Websiteaktionen  – > Galerien –> Websiteinhaltstypen.

Das öffnet den Websiteinhaltstyp-Katalog.

Neuer Websiteinhaltstyp, dem Inhaltstyp einen Name geben und eine Beschreibung erstellen, dann Übergeordneten Inhaltstyp auswählen auf Dokumentinhaltstypen setzen, für Übergeordenter Inhaltstyp die Auswahl Formular übernehmen.

Inhaltstyp  an Formularbibliothek binden

Das geschieht wieder auf der Ebene der Bibliothek, d.h.:

Einstellungen für Formularbibliothek -> dort erscheint dann zusätzlich ein Abschnitt  Inhaltstypen.  Am Anfang  nur den Standardinhaltstyp, Name und Beschreibung kann man hier jetzt ändern.

Neu erstellten Inhaltstyp zufügen mit  Aus vorhandenen Webinhaltstypen hinzufügen.

Formulare veröffentlichen

Für den Standard-Inhaltstyp geht das wie gehabt, die Vorlage wird in die Dokumentbibliothek veröffentlicht.

Für alle weiteren Inhaltstypen gilt: im Veröffentlichen-Assistent von InfoPath statt Dokumentbibiothek  den Punkt Websiteinhaltstyp (erweitert) auswählen, dann bekommt man alle verfügbaren Inhaltstypen angezeigt.

Die Vorlage kann nicht mehr template.xsn heißen, denn dieser Name ist schon für den Standard-Inhaltstyp vergeben. Deshalb wird man vom Assistenten noch aufgefordert, Speicherort und Namen der Vorlage angeben. Es dürfte am sinnvollsten sein, die Vorlage im Verzeichnis der Formularbibliothek abzulegen.

Freitag, 28. März 2008 14:25:00

Eigene Dokumentenbibliotheken können keine Emails empfangen 

Dokumentenbibliotheken in WSS 3 oder MOSS 2007 können (neben Blog-Posts, Events, Diskussionslisten etc) EMails empfangen und aus diesen eigene ListItems erstellen.
 
In einigen Fällen reicht die verfügbare Verarbeitung durch Sharepoint allerdings nicht aus, und es wird notwendig, eigene EventHandler für EmailReceivedEvents zu schreiben.
 
Das Problem dabei: Diese eigenen Events werden nicht an eine spezielle Liste gebunden, sondern grundsätzlich immer nur an den Listentyp (101 für DocLibs). Sobald also ein eigenes Event als Feature installiert wurde, feuern alle damit verbundenen Listen dieses Event.
 
Warum also nicht einfach einen eigenen Listentyp abgeleitet von DocumentLibrary einpflegen? Damit würde nur diese eine Liste feuern, da sie einen individuellen Listentyp bekommen kann und das Event an diesen Typ gebunden wird.
 
Dummerweise wird man beim Erstellen einer neuen Liste diesen Typs verdutzt feststellen, daß es keine Möglichkeit gibt, eingehende Emails zu aktivieren.
 
Das Problem: Sharepoint prüft intern den TemplateType der Liste gegen ein enum ab und lässt nur vier TemplateTypes zu (eben oben erwähnte Announcements, Events, DocumentLibraries und Posts). Da wir aber den TemplateType dazu nutzen wollten, unsere Liste individuell zu machen, wird sie dadurch nutzlos für unser EmailReceivedEvent.
 
Mittwoch, 26. März 2008 14:24:00

Seltsame Fehler bei eingehenden Emails in Diskussionslisten 

Bei einem internen Projekt soll es Kunden ermöglicht werden, Bugmeldungen per Email an den Sharepoint zu senden, der diese in einer Diskussionsliste sammelt und mit aufgebohrten EventHandlern als Ticketsystem fungieren soll.
 
Dabei ist nun ein seltsamer Fehler aufgetreten:  Schicke ich von einem meiner Emailaccounts (die nicht mit meinem Sharepoint-Account verknüpft sind) eine hmtl-Mail mit Textanhang, wird diese verdreifacht, der Anhang geht verloren und mein Event (ItemAdded) feuert nicht.
 
Dies passiert aber nur bei einigen wenigen Absendern, andere Mails im html-Format mit Textanhang kommen problemlos an und werden ebenso problemlos verarbeitet. Auch andere Kombinationen (mit / ohne hmtl, andere Anhänge) funktionieren bei meinem Emailaccount, dagegen wurde bei einem unserer Kunden eine html-Mail mit Word-Anhang nicht angenommen, sondern dreifach ohne Event in die Diskussionsliste übernommen.
 
In Dokumentarbibliotheken klappt das alles. Auf einer anderen WebApplication (ohne Event-Override) konnte ich den Fehler in einer Diskussionsliste dagegen reproduzieren.
 
Die einzige Fehlermeldung, die ich dazu finde, steht im Sharepoint-Log:
 
"Error in resolving user 'emailadresse@domain.tld: System.ComponentModel.Win32Exception: Es konnte keine Verbindung mit dem Server für den globalen Katalog hergestellt werden.
at Microsoft.SharePoint.Utilities.SPActiveDirectoryDomain.GetDirectorySearcher()    
at Microsoft.SharePoint.WebControls.PeopleEditor.SearchFromGC(SPActiveDirectoryDomain domain, String strFilter, String[] rgstrProp, Int32 nTimeout, Int32 nSizeLimit, SPUserCollection spUsers, ArrayList& rgResults)    
at Microsoft.SharePoint.Utilities.SPUserUtility.ResolveAgainstAD(String input, Boolean inputIsEmailOnly, SPActiveDirectoryDomain globalCatalog, SPPrincipalType scopes, SPUserCollection usersContainer, TimeSpan searchTimeout)    
at Microsoft.SharePoint.Utilities.SPActiveDirectoryPrincipalResolver.ResolvePrincipal(String input, Boolean inputIsEmailOnly, SPPrincipalType scopes, SPPrincipalSource sources, SPUserCollection usersContainer)    
at Microsoft.SharePoint.Utilities.SPUtility.ResolvePrincipalInternal(SPWeb web, SPWebApplication webApp, Nullable`1 urlZone, String input, SPPrincipalType scopes, SPPrincipalSource sources, SPUserCollection usersContainer, Boolean inputIsEmailOnly, Boolean alwaysAddWindowsResolver)."
 
Scheinbar wird also der jeweilige Email-Absender gegen das AD des Servers zu validieren versucht, obwohl die Option "Email von allen Absendern akzeptieren" aktiviert ist. Und das auch nur von einigen wenigen Adressen in bestimmten Konstellationen.
 
Das ganze passiert auch, während das Item aus der Email in die Liste eingebaut werden soll, also noch bevor mein Event überhaupt feuern soll. Wird der ItemAdding-Prozess als Cancel = true gekennzeichnet und nicht korrekt aufgeräumt?
 
Ich werde mal weiter nach möglichen Fehlern und Lösungen dazu suchen und diese dann auch hier posten.
 
:/
Dienstag, 25. März 2008 14:24:00

Zum Beispiel Qualitätsmanagement 

QM ist ein Thema, das mir in den letzten Jahren ganz besonders ans Herz gewachsen ist. Es macht absolut Sinn, dass Unternehmen Systeme einführen, mit denen sie die Qualität ihrer Produkte und Geschäftsprozesse messen und überprüfen können. Ich spreche hier noch nicht von einem IT-System, sondern von der Idee, wie sie hinter diversen Zertifizierungen und Normen steht. Sie soll letztendlich für den Kunden zu mehr Qualität, Transparenz und vor allem zu einem besseren Service führen.

Die Idee ist gut, gleichwohl es an der Umsetzung an vielen Stellen hapert.  

Inzwischen sehe ich die zahlreichen Prüfsiegel, wie sie heutzutage schon beim Händler um die Ecke und in mancher Arztpraxis hängen, mit gemischten Gefühlen. Der Grund für die Einführung eines Qualitätsmanagementsystems sollte doch der Kunde, Patient, etc. sein. Wie kommt es dann, dass er von dieser Qualitätssteigerung außer Urkunden an der Wand oft, insbesondere im Service so wenig mitbekommt? Ich denke, dass der Grund darin liegt, dass die Einführung eines Qualitätsmanagementsystems und die damit verbundene Zertifizierung einen gewissen Image- und Werbeeffekt nach sich ziehen, womit der Nutzen für das Unternehmen schon zum Teil erfüllt ist. Unterschätzt werden aber in der Regel der mit der Einführung eines QM-Systems verbundene Aufwand und die entsprechenden Kosten. So bleibt es oft bei einem System, welches zwar die Normen erfüllt, nicht aber die Idee dahinter.

An dieser Stelle kommt SharePoint ins Spiel. Anders als die derzeit verfügbaren IT-Systeme zur Unterstützung des Qualitätsmanagements bietet es eine Plattform, um die Prozesse im Rahmen eines QM-Systems nicht nur zu modellieren, sondern auch konkret in die IT-Struktur des Unternehmens zu integrieren. Dokumenten- und Listenverwaltung, zwei der Aufgaben im QM-Bereich bringt SharePoint als Grundwerkzeug bereits mit. Durch die Möglichkeit, über automatische Workflows Aufgaben und Emails zu verteilen, lassen sich Prozesse wirksam und nachvollziehbar umsetzen. Auswertungen vielfältiger Art sind möglich. Ticketsysteme und Wissensdatenbanken lassen sich in Sharepoint einfach und flexibel implementieren, alle Daten können sowohl mit Office als auch mit jedem Browser abgerufen und bearbeitet werden. Ein unabdingbares Feature für den Außendienst.

Wir haben SharePoint zur Unterstützung des Qualitätsmanagements bereits bei verschiedenen Unternehmen erfolgreich eingeführt. Die Folge davon war eine deutliche Verbesserung der Geschäftsabläufe, eine gesteigerte Zufriedenheit der Mitarbeiter und letztendlich auch ein besserer Kundenservice. Ganz im Sinne der ursprünglichen Idee.

Dienstag, 25. März 2008 13:25:00

Die unternehmerische Sicht 

Als Geschäftsführer von Dr. Hornecker habe ich den Part Business-Gedanken dieses Blogs übernommen. Dazu ist zu sagen, dass ich zwar schon länger ein Anhänger von SharePoint bin, aber bisher keineswegs ein Anhänger von Blogs war. Die Erfahrungen der letzten Zeit haben mich allerdings davon überzeugt, dass dieser Blog eine gute Möglichkeit sein kann, nicht nur über die  technischen Details sondern auch über die Einsatzmöglichkeiten von SharePoint zu berichten. So will ich diesen Teil des Blogs also dazu nutzen, etwas darüber zu erzählen, wie SharePoint aus unternehmerischer Sicht nützlich sein kann, Geschäftsprozesse effizienter gestaltet und damit Aufwand und Kosten spart.

Dienstag, 25. März 2008 13:13:00

Sharepoint und der IISRESET 

Nach vielen Änderungen auf dem Server ist es notwendig, einen IISRESET durchzuführen, vor allem nach dem Installieren von Features oder Workflows.
 
Auf unserem Server allerdings laufen mehrere WSS-Testsysteme parallel, zudem hostet der Server auch noch mehrere Webpräsenzen. Mehrere Male ist es nun schon vorgekommen, dass ich mit einem Kunden während einer Sharepoint-Präsentation plötzlich ein "Service Unavailable" zu sehen bekam, da der Kollege nebenan den IIS neu startete.
 
Es gibt noch eine weitere Möglichkeit, die Änderungen auf der Sharepoint-Site aktiv zu schalten, und zwar durch einen Neustart des betroffenen ApplicationPools.
 
Vorteile: andere Anwendungen im gleichen IIS erleiden keinen Ausfall, und es ist schneller (mein Iisreset dauert normalerweise zwischen 20 und 50 Sekunden. Der Pool-Reset war nach 2 Sekunden durch).
 
cscript c:\windows\system32\iisapp.vbs /a “%PoolName%” /r
 
also z.B.:
 
cscript c:\windows\system32\iisapp.vbs /a “Sharepoint-80” /r
Mittwoch, 12. März 2008 14:20:00

Willkommen im Sharepoint-Blog des Dr.Hornecker Entwicklerteams! 

Auf dieser Seite wollen wir unsere Erfahrungen und Erkenntnisse rund um Sharepoint publik machen.

Das Entwicklerteam der Firma Dr. Hornecker Software-Entwicklung befasst sich seit einigen Monaten mit den Anwendungsmöglichkeiten des Microsoft Office Sharepoint Servers 2007 (MOSS) und der Windows Sharepoint Services 3.0 (WSS). Wir erstellen sowohl für unsere Kunden als auch für uns selbst Anwendungswebseiten auf Sharepointbasis.

Während unseren ersten Kontakten mit Sharepoint stiessen wir oft an bestimmte Verhaltensweisen und Schwierigkeiten, die oft zu langwierigen Recherchen führten, bis wir sie überwunden hatten.  

In diesem Blog wollen wir Probleme und Lösungen dazu präsentieren; dazu wollen wir sowohl Einstellungen im Sharepoint selber und in der Zentraladministration erläutern. Wir wollen Fragen zum Sharepoint Designer klären. Wir wollen auch tiefergehende Codingmöglichkeiten des Sharepoints aufgreifen, und zu guter letzt auch Aspekte der Nutzung aus unternehmerischer Sicht nicht unerwähnt lassen.

Viel Spaß beim Lesen und Kommentieren der Beiträge

Die Entwickler ...

Freitag, 7. März 2008 15:08:00

Dr. Hornecker Software-Entwicklung und IT-Dienstleistungen

Leo-Wohleb-Strasse 6
D-79098 Freiburg

+49 (0) 761 - 20 55 10 - 20

Dr. Hornecker Softwareentwicklung und IT-Dienstleistungen

Dr. Hornecker Softwareentwicklung und IT-Dienstleistungen