<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Sharepoint</title>
        <link>http://blog.codemurai.de/category/Sharepoint.aspx</link>
        <description>Sharepoint</description>
        <language>de-DE</language>
        <copyright>André Krämer</copyright>
        <generator>Subtext Version 2.6.0.1</generator>
        <item>
            <title>HTTP Fehler 401 beim hinzuf&amp;uuml;gen eines Custom WebParts</title>
            <link>http://blog.codemurai.de/archive/2010/11/21/http-fehler-401-beim-hinzufugen-eines-custom-webparts.aspx</link>
            <description>&lt;p&gt;Gestern überraschte mich Sharepoint mit einem mir zunächst vollkommen unverständlichen Verhalten.&lt;/p&gt;  &lt;p&gt;Ich versuchte zu einer Seite ein WebPart hinzuzufügen, welches ich kurz davor entwickelt hatte. Jedoch kam jedes Mal nachdem ich das Webpart auswählte ein Dialog der mich zur Eingabe von Benutzernamen und Passwort aufforderte. Meine korrekt eingegebenen Benutzerdaten akzeptierte der Dialog nicht. Der Klick auf “Abbrechen” führte schließlich zu einer Standard HTTP 401 Unauthorized Seite.&lt;/p&gt;  &lt;p&gt;Weder im Event-Log, noch in den Sharepoint-Logs konnte ich Informationen zur Fehlerursache finden. &lt;/p&gt;  &lt;p&gt;Also folgte einige Zeit der Ratlosigkeit und des Fluchens ehe ich mehr zufällig auf die Lösung kam:&lt;/p&gt;  &lt;p&gt;Ursache des Problems war eine fehlerhaft von mir implementierte Property meines Webparts. Diese sah ungefähr wie folgt aus:&lt;/p&gt;  &lt;pre class="brush: csharp; ruler: true;"&gt;private string pfad
public string Pfad
{
   get
   {
      return Pfad.EndsWith("/")?Pfad:string.Concat(Pfad,"/");
   }
   set
   {
      pfad = value;
   }
}&lt;/pre&gt;

&lt;p&gt;Wie man sieht habe ich einen kleinen, aber entscheidenden Fehler innerhalb des Getters. Anstatt mein Feld mit dem Namen &lt;em&gt;pfad&lt;/em&gt; zurück zu geben, gebe ich innerhalb des Getters der Eigenschaft &lt;em&gt;Pfad&lt;/em&gt; die Eigenschaft &lt;em&gt;Pfad&lt;/em&gt; zurück. Somit ruft diese Eigenschaft sich so lange selber auf, bis eine StackOverflowException auftritt.&lt;/p&gt;

&lt;p&gt;Diese StackOverflowException führte dazu, dass der Workerprozess meiner Sharepoint Web Applikation recycled wurde. Somit waren meine zuvor eingegebenen Credentials ungültig und der IIS fragte mich erneut nach den korrekten Zugangsdaten.&lt;/p&gt;

&lt;p&gt;Nachdem ich den Getter entsprechend korrigiert hatte, lies sich das Webpart problemlos einfügen.&lt;/p&gt;

&lt;pre class="brush: csharp; ruler: true;"&gt;private string pfad
public string Pfad
{
   get
   {
      return pfad.EndsWith("/")?pfad:string.Concat(pfad,"/");
   }
   set
   {
      pfad = value;
   }
}&lt;/pre&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d754bb5e-c966-41bb-bdc9-21785bfec0a9" class="wlWriterEditableSmartContent"&gt;Tags: &lt;a href="http://blog.codemurai.de/tags/.NET/default.aspx" rel="tag"&gt;.NET&lt;/a&gt;, &lt;a href="http://blog.codemurai.de/tags/Sharepoint/default.aspx" rel="tag"&gt;Sharepoint&lt;/a&gt;, &lt;a href="http://blog.codemurai.de/tags/ASP.NET/default.aspx" rel="tag"&gt;ASP.NET&lt;/a&gt; &lt;/div&gt;&lt;img src="http://blog.codemurai.de/aggbug/121.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>André Krämer</dc:creator>
            <guid>http://blog.codemurai.de/archive/2010/11/21/http-fehler-401-beim-hinzufugen-eines-custom-webparts.aspx</guid>
            <pubDate>Sun, 21 Nov 2010 22:56:21 GMT</pubDate>
            <comments>http://blog.codemurai.de/archive/2010/11/21/http-fehler-401-beim-hinzufugen-eines-custom-webparts.aspx#feedback</comments>
            <wfw:commentRss>http://blog.codemurai.de/comments/commentRss/121.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Dieser Webpart kann nicht angezeigt werden</title>
            <link>http://blog.codemurai.de/archive/2009/11/16/dieser-webpart-kann-nicht-angezeigt-werden.aspx</link>
            <description>&lt;p&gt;"&lt;b&gt;Dieser Webpart kann nicht angezeigt werden&lt;/b&gt;. Öffnen Sie diese Webseite in einem Windows SharePoint Services-kompatiblen HTML-Editor, wie beispielsweise Microsoft Office SharePoint Designer, um dieses Problem zu behandeln. Falls das Problem weiterhin besteht, wenden Sie sich an Ihren Webserveradministrator."&lt;/p&gt; &lt;p&gt;Dies ist mit großem Abstand meine Sharepoint Lieblingsfehlermeldung. Dahinter kann sich so ziemlich alles verbergen. Kürzlich erhielt ich diese Meldung, nachdem ich einige Änderungen an einem Dataview Webpart (DVWP) bei einem meiner Kunden vorgenommen hatte.&lt;/p&gt; &lt;p&gt;Typischerweise kommt diese Meldung, wenn man ein DVWP in einer Sharepoint Umgebung exportiert und in eine andere Importiert. Ursache ist in solchen Fällen die fehlerhafte Liste GUID, die innerhalb der XSL Transformation sowie als Parameter in den Webpart Eigenschaften gespeichert wurde.&lt;/p&gt; &lt;p&gt;In meinem Fall konnte ich diese Ursache allerdings ausschließen. Interessanterweise wurde der Fehler nämlich nur anonymen Nutzern der Seite angezeigt. Als angemeldeter Nutzer (mit Admin-Rechten) wurde der Webpart fehlerfrei angezeigt.&lt;/p&gt; &lt;p&gt;Nach einer Stunde relativer Ratlosigkeit und sprichwörtlicher Suche der Nadel im Heuhaufen fand ich glücklicherweise die Quelle des Fehlers.&lt;/p&gt; &lt;p&gt;Während der Entwicklung hatte ich die XSL Transformation des Wepart nicht direkt innerhalb des Webparts gespeichert. Stattdessen hatte ich sie in die Style Library ausgelagert. Was ich allerdings vergessen hatte: Die XSL Datei war zwar wunderbar ausgelagert, jedoch &lt;strong&gt;nicht veröffentlicht&lt;/strong&gt;. Somit hatte ich als authentifizierter Benutzer zwar keine Probleme den Webpart anzuzeigen, anonyme Anwender konnten das Herzstück des Webparts - nämlich die Transformation - jedoch nicht zugreifen und erhielten somit (zurecht) die oben genannte Fehlermeldung.&lt;/p&gt;&lt;img src="http://blog.codemurai.de/aggbug/152.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andre</dc:creator>
            <guid>http://blog.codemurai.de/archive/2009/11/16/dieser-webpart-kann-nicht-angezeigt-werden.aspx</guid>
            <pubDate>Mon, 16 Nov 2009 17:01:20 GMT</pubDate>
            <comments>http://blog.codemurai.de/archive/2009/11/16/dieser-webpart-kann-nicht-angezeigt-werden.aspx#feedback</comments>
            <wfw:commentRss>http://blog.codemurai.de/comments/commentRss/152.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Prüfen, ob sich ein Webpart im Design Modus befindet</title>
            <link>http://blog.codemurai.de/archive/2009/09/17/prufen-ob-sich-ein-webpart-im-design-modus-befindet.aspx</link>
            <description>Während der Webpart Entwicklung kann es nützlich sein, zu wissen ob man sich gerade im Webpart Design Modus befindet. Folgender Codeausschnitt zeigt, wie man an diese Information kommt:&lt;br&gt;&lt;pre&gt;&lt;span style="color: Black; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;        &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;protected&lt;/span&gt; &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;bool&lt;/span&gt; IsDesignMode()
        {
            &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;bool&lt;/span&gt; designMode &lt;span style="color: Red; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;true&lt;/span&gt;;
            &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;if&lt;/span&gt; (&lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;this&lt;/span&gt;.Page !&lt;span style="color: Red; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;null&lt;/span&gt;)
            {
                WebPartManager wp &lt;span style="color: Red; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; WebPartManager.GetCurrentWebPartManager(&lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;this&lt;/span&gt;.Page);
                &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;if&lt;/span&gt; (wp !&lt;span style="color: Red; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;null&lt;/span&gt;)
                {
                    designMode &lt;span style="color: Red; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; (wp.DisplayMode !&lt;span style="color: Red; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; WebPartManager.BrowseDisplayMode);
                }
            }
            &lt;span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;"&gt;return&lt;/span&gt; designMode;
        }&lt;/span&gt;&lt;/pre&gt;Hilfreich ist dies zum Beispiel, um Validatoren während des Design Modus abzuschalten.&lt;br&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://blog.codemurai.de/aggbug/153.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andre</dc:creator>
            <guid>http://blog.codemurai.de/archive/2009/09/17/prufen-ob-sich-ein-webpart-im-design-modus-befindet.aspx</guid>
            <pubDate>Thu, 17 Sep 2009 10:29:23 GMT</pubDate>
            <comments>http://blog.codemurai.de/archive/2009/09/17/prufen-ob-sich-ein-webpart-im-design-modus-befindet.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blog.codemurai.de/comments/commentRss/153.aspx</wfw:commentRss>
        </item>
        <item>
            <title>HTTP Error 500 nach Restore eines Sharepoint Backups</title>
            <link>http://blog.codemurai.de/archive/2009/05/18/http-error-500-nach-restore-eines-sharepoint-backups.aspx</link>
            <description>&lt;p&gt;Kürzlich versuchte ich via &lt;em&gt;stsadm -o restore&lt;/em&gt; das Sharepoint Backup eines Kundens auf meinem Entwicklungsrechner einzuspielen. Obwohl die Wiederherstellung problemlos lief, kam beim anschließenden Aufrufen der Seite stets nur die statische Meldung: HTTP 500, interner Serverfehler. Sowohl das Eventlog, als auch die Sharepoint-Log Dateien gaben keinen Aufschluss zur Ursache des Fehlers. Auch Google und Co waren wenig hilfreich.&lt;/p&gt; &lt;p&gt;Nach stundenlangem Probieren konnte ich die Ursache glücklicherweise doch finden: Sowohl der Kunde, als auch ich hatten einen englischen MOSS auf einem englischen Windows 2003 Server installiert. Im Gegensatz zu mir hatte der Kunde jedoch zusätzlich die deutschen Sprachpakete für MOSS &lt;strong&gt;und&lt;/strong&gt; WSS 3.0 inkl. aktuellem Servicepack installiert.&lt;/p&gt; &lt;p&gt;Mein Fazit der Geschichte:&lt;/p&gt; &lt;p&gt;In Zukunft werde ich beim Aufsetzen einer Sharepoint Entwicklungsmaschine sofort die Language Packs installieren.&lt;/p&gt;&lt;img src="http://blog.codemurai.de/aggbug/160.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andre</dc:creator>
            <guid>http://blog.codemurai.de/archive/2009/05/18/http-error-500-nach-restore-eines-sharepoint-backups.aspx</guid>
            <pubDate>Mon, 18 May 2009 23:44:53 GMT</pubDate>
            <comments>http://blog.codemurai.de/archive/2009/05/18/http-error-500-nach-restore-eines-sharepoint-backups.aspx#feedback</comments>
            <wfw:commentRss>http://blog.codemurai.de/comments/commentRss/160.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Einstieg in die WSS 3.0 / MOSS 2007 Entwicklung - Die Systemumgebung</title>
            <link>http://blog.codemurai.de/archive/2008/11/05/einstieg-in-die-wss-3-0-moss-2007-entwicklung-die.aspx</link>
            <description>&lt;p&gt;Möchte man als Entwickler einen Einstieg in die Entwicklung mit den Microsoft Windows Sharepoint Services (WSS) 3.0 oder den Microsoft Office Sharepoint Server (MOSS) 2007 finden, steht man zu Beginn vor einer eher ungewöhnlichen Frage:&lt;/p&gt; &lt;p&gt;&lt;em&gt;"Welche Systemumgebung brauche ich, um überhaupt los legen zu können?"&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Reicht für andere Einsatzzwecke normalerweise ein Windows Client Betriebssystem inklusive Visual Studio nebst dem ein oder anderen Tool aus, muss es für die Sharepoint Entwicklung ein &lt;strong&gt;vollständiges Server Betriebssystem&lt;/strong&gt; sein.&lt;/p&gt; &lt;p&gt;Da die wenigsten Entwickler wohl einen Server als "Hauptbetriebssystem" nutzen, liegt der Griff zur einer Virtuellen Maschine nahe. Leider ist auch diese nicht ganz so einfach installiert. Zumindest nicht, wenn man nicht regelmäßig Windows Server installiert und konfiguriert.&lt;/p&gt; &lt;p&gt;Genau aus diesem Grund hat &lt;a href="http://www.pptspaces.com/sharepointreporterblog" target="_blank"&gt;Tony Zink&lt;/a&gt; eine &lt;a href="http://www.pptspaces.com/sharepointreporterblog/Lists/Posts/Post.aspx?ID=28" target="_blank"&gt;20-Teilige Blog Serie&lt;/a&gt; veröffentlicht, die durch den Dschungel der Windows Server 2003 + SQL Server 2005 + Moss 2007 Installation und Konfiguration führt.&lt;/p&gt; &lt;p&gt;Ein deutsches Pendant in der Kombination Windows Server 2008, SQL Server 2008 und MOSS 2007 findet sich übrigens in &lt;a href="http://weblogs.mysharepoint.de/fabianm/archive/2008/08/11/sharepoint-auf-einem-windows-server-2008-mit-sql-server-2008-installieren-best-practices-teil-1.aspx" target="_blank"&gt;Fabians Blog&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Was in beiden Beiträgen fehlt ist die Installation von Visual Studio. Dies sollte für uns als Entwickler jedoch kein Problem sein :-) &lt;/p&gt;&lt;img src="http://blog.codemurai.de/aggbug/170.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andre</dc:creator>
            <guid>http://blog.codemurai.de/archive/2008/11/05/einstieg-in-die-wss-3-0-moss-2007-entwicklung-die.aspx</guid>
            <pubDate>Wed, 05 Nov 2008 17:45:32 GMT</pubDate>
            <comments>http://blog.codemurai.de/archive/2008/11/05/einstieg-in-die-wss-3-0-moss-2007-entwicklung-die.aspx#feedback</comments>
            <wfw:commentRss>http://blog.codemurai.de/comments/commentRss/170.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>
