<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.mysharepoint.de/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Oliver Wirkus : SharePoint</title><link>http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/SharePoint/default.aspx</link><description>Tags: SharePoint</description><dc:language /><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>ShareConnect 2010 – ich bin als Sprecher dabei</title><link>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/08/02/shareconnect-2010-ich-bin-als-sprecher-dabei.aspx</link><pubDate>Mon, 02 Aug 2010 08:49:00 GMT</pubDate><guid isPermaLink="false">1eb0e3d2-d83a-44d0-b840-d81a9d15b663:18849</guid><dc:creator>Oliver Wirkus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/rsscomments.aspx?PostID=18849</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/commentapi.aspx?PostID=18849</wfw:comment><comments>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/08/02/shareconnect-2010-ich-bin-als-sprecher-dabei.aspx#comments</comments><description>&lt;p align="justify"&gt;Ich freue mich sehr, am 23.9.2010 in Mainz auf der ShareConnect einen Vortrag zum Thema &amp;ldquo;Best Practices in der SharePoint-Entwicklung&amp;rdquo; halten zu d&amp;uuml;rfen.&lt;/p&gt;
&lt;p align="justify"&gt;Zwar startet mein Vortrag gleich am &amp;lsquo;fr&amp;uuml;hen&amp;rsquo; Morgen &lt;b&gt;(23.9. 8:30Uhr bis 9:45&lt;/b&gt;) &amp;ndash; und eigentlich bin ich kein &amp;lsquo;Morgenmensch&amp;rsquo;, aber ich hoffe, dass ich mit&amp;nbsp; der Hilfe von einer guten Tasse Kaffee, oder zwei &amp;hellip; einen interessanten und spannenden Vortrag halten werde.&lt;/p&gt;
&lt;p align="justify"&gt;Ich freue mich schon auf interessante Tage (nicht nur) rund um das Thema SharePoint-Entwicklung in Mainz und besonders auf viele interessante Gespr&amp;auml;che rund um unser Liebblingshobby :-)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://shareconnect.net/" target="_blank"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" class="wlDisabledImage" title="image" alt="image" src="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus.metablogapi/8424.image_5F00_6DE612B8.png" border="0" height="79" width="520" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;   &lt;br /&gt;Wir sehen uns dann also am 23.9.2010 auf der ShareConnect 2010 in Mainz &amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://sharepointcommunity.de/blogs/owirkus"&gt;&lt;img alt="Add to Technorati Favorites" src="http://static.technorati.com/pix/fave/tech-fav-1.png" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://weblogs.mysharepoint.de/aggbug.aspx?PostID=18849" width="1" height="1"&gt;</description><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/Event/default.aspx">Event</category></item><item><title>SharePoint Pitfall - SPUtility.SendEmail</title><link>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/07/29/sharepoint-pitfall-sputility-sendemail.aspx</link><pubDate>Thu, 29 Jul 2010 11:36:00 GMT</pubDate><guid isPermaLink="false">1eb0e3d2-d83a-44d0-b840-d81a9d15b663:18753</guid><dc:creator>Oliver Wirkus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/rsscomments.aspx?PostID=18753</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/commentapi.aspx?PostID=18753</wfw:comment><comments>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/07/29/sharepoint-pitfall-sputility-sendemail.aspx#comments</comments><description>&lt;p align="justify"&gt;Um Emails aus SharePoint heraus zu verschicken, gibt es die Methode SPUtility.SendEmail(). Der gro&amp;szlig;e Vorteil dieser Methode ist, dass man sich als Programmierer nicht um die Einstellungen f&amp;uuml;r den Mailversand k&amp;uuml;mmern muss. SPUtility.SendEmail holt sich selbst ein Einstellungen aus der Zentraladministration. Einfach Adresse, Betreff und Mailtext eintragten und abschicken. In vielen F&amp;auml;llen ist es wirklich so einfach, aber es gibt eine Sache, die muss man wissen, wenn man SPUtility.SendEmail() verwenden will: die Zeilenl&amp;auml;nge im Mailtext ist auf 2048 Zeichen beschr&amp;auml;nkt. Manchmal findet man in Blogs auch den Hinweis, dass der gesamte Mailtext auf 2048 Zeichen limitiert ist &amp;ndash; diese Aussage ist aber nicht richtig. Beschr&amp;auml;nkt ist nur die Zeilenl&amp;auml;nge.&lt;/p&gt;
&lt;p align="justify"&gt;Aber warum ist eine begrenzte Zeilenl&amp;auml;nge bei SPUtility.SendEmail() einen Blogeintrag wert? Und warum in dieser Rubrik?&lt;/p&gt;
&lt;p align="justify"&gt;Um das zu erkl&amp;auml;ren, zuvor eineinfaches Beispiel: der Ablauf eines WebParts (oder einer anderen SharePoint-Entwicklung) soll protokolliert und am Schluss per Mail verschickt werden. W&amp;auml;hrend des Laufs werden einzelne Statusmeldungen in einem StringBuilder-Objekt gesammelt. Am Ende des Durchlaufs wird der Mailtext aus dem Stringbuilder-Objekt erzeugt. Und genau hier versteckt sich das Problem:&lt;/p&gt;
&lt;p align="justify"&gt;Wenn man &amp;ndash;wie gewohnt&amp;ndash; einzelne Strings mit der Append()-Methode einem StringBuilder-Objekt hinzuf&amp;uuml;gt, dann kann es durchaus passieren, dass diese 2048-Zeichen pro Zeile-Limitierung bei SPUtility.SendEmail() zuschl&amp;auml;gt. Wenn man statt Append() &lt;b&gt;AppendLine()&lt;/b&gt; verwendet, dann passiert dies nicht. AppendLine() f&amp;uuml;gt &lt;i&gt;New Line&lt;/i&gt;-Zeichen in den Text ein.&lt;/p&gt;
&lt;p&gt;Man kann dann z.B. so eine Email aus einer SharePoint-Entwicklung verschicken:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;StringBuilder oErrorMessages = new StringBuilder();&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;oErrorMessages.AppendLine(&amp;ldquo;Fehlermeldung 1&amp;rdquo;);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;OErrorMessages.AppendLine(&amp;ldquo;Fehlermeldung 2&amp;rdquo;);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;SPUtility.SendEmail(SPContext.Current.Web,        &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; false,         &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; false,         &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPContext.Current.Web.CurrentUser.Email,         &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;Betreffzeile&amp;quot;,         &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oErrorMessages.ToString());&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://sharepointcommunity.de/blogs/owirkus"&gt;&lt;img alt="Add to Technorati Favorites" src="http://static.technorati.com/pix/fave/tech-fav-1.png" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://weblogs.mysharepoint.de/aggbug.aspx?PostID=18753" width="1" height="1"&gt;</description><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/Pitfall/default.aspx">Pitfall</category></item><item><title>SharePoint Pitfall – Custom Field Types</title><link>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/07/27/sharepoint-pitfall-custom-field-types.aspx</link><pubDate>Tue, 27 Jul 2010 07:55:00 GMT</pubDate><guid isPermaLink="false">1eb0e3d2-d83a-44d0-b840-d81a9d15b663:18646</guid><dc:creator>Oliver Wirkus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/rsscomments.aspx?PostID=18646</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/commentapi.aspx?PostID=18646</wfw:comment><comments>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/07/27/sharepoint-pitfall-custom-field-types.aspx#comments</comments><description>&lt;p align="justify"&gt;Custom Field Types sind eigentlich eine sehr praktische Sache wenn es darum geht, Eingaben benutzefreundlicher zu gestalten. Wie man ein Custom Field Type programmiert, dazu findet man im Internet zahlreichen Anleitungen und auch ich habe zuletzt auf der &lt;a href="http://sharepointcommunity.de/blogs/owirkus/archive/2010/01/08/basta-spring-2010-ich-bin-als-sprecher-dabei.aspx" target="_blank"&gt;BASTA! Spring 2010&lt;/a&gt; in einem Vortrag darüber und über mögliche Einsatzszenarien berichtet. Mit dem WSPBuilder (oder auch den Visual Studio Extensions) ist es wirklich keine große Sache mehr, ein Custom Field Type zu programmieren und in eine Solution zu verpacken.&lt;/p&gt;  &lt;p align="justify"&gt;Ich selbst verwende in meinen Kundenprojekten Custom Field Types sehr gern, um Listen mit Vorgabewerte (z.B. Dokument-Status, …) aus einem administrativen Web auszulesen und in Listen oder Bibliotheken anzuzeigen. Zu diesem Web haben dann nur wenige ausgewählte Mitarbeiter Zugang und können die Listen mit den Vorgabewerten pflegen.&lt;/p&gt;  &lt;p align="justify"&gt;Bevor man sich aber in der Planungsphase eines neuen Projektes allzu schnell auf die Verwendung von Custom Field Types festlegt, sollte man wissen, dass es neben den Vorteilen auch einige Nachteile (oder besser gesagt: &lt;em&gt;Pitfalls&lt;/em&gt;) gibt, die man kennen muss.&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1. Datenblatt-Ansicht&lt;/strong&gt;&lt;/p&gt;  &lt;p align="justify"&gt;In den Forms (View, New, Edit) funktionieren Custom Field Types – aber leider funktionieren sie nicht in der Datenblatt-Ansicht. Normalerweise erreicht man diese Einstellung, wie im folgenden Screenshot dargestellt:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus.metablogapi/7455.Zwischenablage03_5F00_3D3DECF0.jpg" target="_blank"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" class="wlDisabledImage" title="Zwischenablage03" border="0" alt="Zwischenablage03" src="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus.metablogapi/6862.Zwischenablage03_5F00_thumb_5F00_7A7EA1B7.jpg" width="244" height="199" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Zwar werden hier dann auch die Spalten dargestellt, denen ein Custom Field Type zugrunde liegt, aber diese Spalten können in dieser Ansicht nicht editiert werden. Beim Versuch, diese Spalten zu ändern oder zu beschreiben, bekommt man nur die Meldung, dass diese Spalten schreibgeschützt (read-only) sind.&lt;/p&gt;  &lt;p align="justify"&gt;Mit den Standard-Datentypen (z.B.: Choice) funktioniert es hingegen, wie erwartet. Bedeutet: die Auswahlen in einem Auswahlfeld werden in der Datenblatt-Ansicht angezeigt und auch als Auswahl dargestellt.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2. Microsoft Office Integration&lt;/strong&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Seit Microsoft Office 2003 gibt es eine SharePoint-Integration. Es ist damit möglich, Office-Dokumente direkt in eine SharePoint-Bibliothek zu speichern. Sind in dieser Bibliothek Pflichtfelder vorhanden, gibt Office eine enstrpechende Meldung aus und blendet den &lt;em&gt;Document Information Panel&lt;/em&gt; ein. Bei Office 2003 war dies noch ein eigenes Fenster, aber ab Office 2007 wird der &lt;em&gt;Document Information Panel&lt;/em&gt; unterhalb der Ribbon-Leiste eingeblendet. Hier kann&amp;#160; der Benutzer dann die fehlenden (Pflicht-)Felder ergänzen. Leider funktioniert dies nicht mit programmiertem Custom Field Types. Mit den Standarddatentypen (z.B. Choice) funktioniert die Office-Integration wie erwartet.&lt;/p&gt;  &lt;p align="justify"&gt;Zwar werden im Document Information Panel Custom-Field-Type-Felder angezeigt, aber nur als einfache Textfelder – selbst wenn diese Felder eigentlich z.B. als Listboxen dargestellt werden. Dies bedeutet, dass Custom Field Types bei der Office-Integration leider auch nicht unterstützt werden. Schreibt man in diese Textboxen, die eigentlich Custom Field Types ein sollten, beliebige Werte, dann werden diese Werte auch in die Bibliothek übernommen – auch dann, wenn die eingegebenen Werte überhaupt nicht in z.B. einer Listbox auftauchen. Dazu ein kurzes Beispiel: gehen wir davon aus, ein Feld wäre als Custom Field Type umgesetzt und würde die Werte (1,2,3,4) enthalten. Dieses Feld ist als Pflichtfeld markiert. Wenn man über die Office-Integration ein neues Dokument in die entsprechende Dokumentbibliothek speichert, kann man im &lt;em&gt;Document Information Panel&lt;/em&gt; beispielweise den Wert 5 eingeben – dieser Wert wird übernommen, auch wenn er nicht in der Listbox auftaucht.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus.metablogapi/4705.Zwischenablage04_5F00_39702253.jpg" target="_blank"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" class="wlDisabledImage" title="Zwischenablage04" border="0" alt="Zwischenablage04" src="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus.metablogapi/1588.Zwischenablage04_5F00_thumb_5F00_6A2329FE.jpg" width="244" height="211" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;In obigem Bild sieht man oben (im blauen Teil) einen Teil des &lt;em&gt;Document Information Panel&lt;/em&gt; (hier ist das Feld Firma ein reines Textfeld) und unten einen Auschnitt aus der SharePoint-Bibliothek (hier ist das Feld Firma ein Custom Field Type basierend auf einer Auswahl).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3. Webservice&lt;/strong&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Das bisher gesagte gilt leider auch für die Standard-SharePoint WebServices. Auch diese habe so ihre Probleme mit den Custom Field Types. Man kann zwar z.B. mit dem &lt;em&gt;lists.asmx&lt;/em&gt; auf Listen oder Bibliotheken zugreifen, die selbstprogrammierte Custom Field Types enthalten, aber diese werden hier so wenig unterstützt, wie schon beim vorherigen Punkt (2. Microsoft Office Integration) geschildert.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;4. Deployment&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;Custom Field Types werden normalerweise in eine Solution verpackt und in den Global Assembly Cache installiert. Dies sollte man auf jeden Fall berücksichtigen, denn nicht in allen Installationen ist dies möglich. Weiterhin werden Custom Field Types server-global installiert. Dies bedeutet: sie werden im Solution Management in der Zentraladministration als “globally deployed” dargestellt – und das ist in diesem Fall wörtlich zu nehmen. Laufen auf einem SharePoint-Server mehrere Web-Applications, dann ist der Custom Field Type in allen Web-Applications verfügbar und kann in allen Web-Applications genutzt werden. Dies sollte man unbedingt berücksichtigen, wenn man in einem &lt;em&gt;Shared&lt;/em&gt;-Umfeld arbeitet. Nicht immer ist es sinnvoll bzw. gewünscht, dass ein Custom Field Type, der für WebApp_1 programmiert wurde, auf auf WebApp_2 sicht- und verwendbar ist!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;br /&gt;&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://sharepointcommunity.de/blogs/owirkus"&gt;&lt;img alt="Add to Technorati Favorites" src="http://static.technorati.com/pix/fave/tech-fav-1.png" /&gt;&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://weblogs.mysharepoint.de/aggbug.aspx?PostID=18646" width="1" height="1"&gt;</description><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/Pitfall/default.aspx">Pitfall</category></item><item><title>SharePoint Pitfalls – Intro</title><link>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/07/14/sharepoint-pitfalls-intro.aspx</link><pubDate>Wed, 14 Jul 2010 09:58:03 GMT</pubDate><guid isPermaLink="false">1eb0e3d2-d83a-44d0-b840-d81a9d15b663:18286</guid><dc:creator>Oliver Wirkus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/rsscomments.aspx?PostID=18286</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/commentapi.aspx?PostID=18286</wfw:comment><comments>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/07/14/sharepoint-pitfalls-intro.aspx#comments</comments><description>&lt;table border="0" cellspacing="2" cellpadding="5" width="625"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="231" align="center"&gt;&lt;a href="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus.metablogapi/2063.image_5F00_7C3CAF44.png" target="_blank"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" class="wlDisabledImage" title="image" border="0" alt="image" src="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus.metablogapi/2161.image_5F00_thumb_5F00_570F3F0B.png" width="201" height="147" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="386"&gt;         &lt;p align="justify"&gt;SharePoint ist ein sehr mächtiges Werkzeug, mit dem man viele Anforderungen teilweise sogar sehr elegant und benutzer-freundlich umsetzen kann. &lt;/p&gt;          &lt;p align="justify"&gt;Aber manchmal passiert es eben einfach mal: man stolpert über ein Verhalten oder eine Reaktion von SharePoint, dass bzw. die man so in der aktuellen Situtation nicht erwartet hätte. Jeder, der schon in einem SharePoint-Projekt mitgearbeitet oder es sogar geleitet hat, kennt sicher diese Situtation.            &lt;br /&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p align="justify"&gt;Zugegeben, diese Situationen gibt es nicht nur bei SharePoint, aber da ich mich hauptsächlich (und sehr gern) mit SharePoint beschäftige, fällt es mir meist eben in Zusammenhang mit SharePoint-Projekten auf.    &lt;br /&gt;    &lt;br /&gt;Offensichtlich geht es aber nicht nur mir so :-) &lt;/p&gt;  &lt;p align="justify"&gt;In letzter Zeit haben mich einige Emails mit den klassischen SharePoint-Stolpersteinen erreicht und auch im Forum der SharePointCommunity findet man immer mal wieder entsprechende Fragen oder Kommentare.&lt;/p&gt;  &lt;p align="justify"&gt;Ich habe mich entschlossen, einen Versuch zustarten und möchte in einer eigenen Rubrik in meinem Blog über diese klassischen Stolpersteine bei SharePoint berichten. Ich werde dies nicht regelmäßig tun – schließlich stolpert man ja nicht alle 4½ Tage über unerwartetes Verhalten. Ich werde in den nächsten Wochen über die mir bekannten Fallen und Stolpersteine berichten. Ich möchte aber auch ganz explizit meine Leser aufrufen und um Mithilfe und Unterstützung bitten. Berichtet mir doch von Euren Erfahrungen und Euren “Lieblingsstolpersteinen” – gern auch anonym. Ich würde sehr gern Erfahrungen und Berichte von Euch –von meinen Lesern– in diese Rubrik einfliessen lassen. &lt;/p&gt;  &lt;p align="justify"&gt;Daher mein Aufruf: &lt;strong&gt;schickt mir eine Email mit Euren Erfahrungen!&lt;/strong&gt; Über welche Stolpersteine seid Ihr schon gestolpert und wie habt ihr das Problem gelöst. Ich würde gern Euer Feedback in diese Rubrik aufnehmen – denn ich bin mir sicher: die meisten von uns habe schon Bekanntschaft mit dem einen oder anderen Stolperstein bei SharePoint gemacht :-)&lt;/p&gt; &lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://sharepointcommunity.de/blogs/owirkus"&gt;&lt;img alt="Add to Technorati Favorites" src="http://static.technorati.com/pix/fave/tech-fav-1.png" /&gt;&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://weblogs.mysharepoint.de/aggbug.aspx?PostID=18286" width="1" height="1"&gt;</description><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/Pitfall/default.aspx">Pitfall</category></item><item><title>E-mailing a Document from a SharePoint Document Library</title><link>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/07/13/e-mailing-a-document-from-a-sharepoint-document-library.aspx</link><pubDate>Tue, 13 Jul 2010 13:25:00 GMT</pubDate><guid isPermaLink="false">1eb0e3d2-d83a-44d0-b840-d81a9d15b663:18272</guid><dc:creator>Oliver Wirkus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/rsscomments.aspx?PostID=18272</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/commentapi.aspx?PostID=18272</wfw:comment><comments>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/07/13/e-mailing-a-document-from-a-sharepoint-document-library.aspx#comments</comments><description>&lt;p align="justify"&gt;Jeder der schon mit Dokument-Bibliotheken in SharePoint gearbeitet hat, kennt sicher den Kontextmen&amp;uuml;-Befehl &amp;ldquo;Link als E-Mail versenden&amp;rdquo; und hat sich schon gefragt, warum es nicht m&amp;ouml;glich ist, eine Datei aus einer Dokument-Bibliothek direkt zu verschicken.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus.metablogapi/3247.BlogBild1_5F00_4EEFDA3E.jpg" target="_blank"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" class="wlDisabledImage" title="BlogBild1" alt="BlogBild1" src="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus.metablogapi/6378.BlogBild1_5F00_thumb_5F00_0C308F06.jpg" border="0" height="186" width="244" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Nun &amp;ndash; da gibt es mehrere Gr&amp;uuml;nde: wenn ich SharePoint nutze, um z.B. mit Kollegen zusammenzuarbeiten (was grunds&amp;auml;tzlich schon mal eine gute Idee ist), warum sollte ich dann eine Datei (die vielleicht auch noch eine gewise Gr&amp;ouml;&amp;szlig;e hat) direkt verschicken und so die Netz- bzw. Internetverbindung unn&amp;ouml;tig belasten? Sicher ein gutes Argument, gibt es doch auch in der heutigen Zeit immer noch Mitarbeiter bzw. Kollegen, die die Anfahrtsskizze zum Mitarbeitertreffen als 27MB gro&amp;szlig;e TIF-Datei per Email verschicken :-)&lt;/p&gt;
&lt;p align="justify"&gt;Ein anderer Grund &amp;ndash; und das ist meiner Meinung nach ein wichtiger Grund: hier geht es um das Thema Sicherheit! Wenn ich statt eines Dokuments &amp;lsquo;nur&amp;rsquo; den Link auf das Dokument in einer SharePoint Dokument-Bibliothek verschicke, kann ich halbwegs sicherstellen, dass dieses Dokument nur von berechtigten Benutzer ge&amp;ouml;ffnet und gelesen werden kann. Wie schnell ist es passiert, dass man in der B&amp;uuml;ro-Hektik versehentlich eine falsche Email-Adresse ausw&amp;auml;hlt &amp;ndash; und schon hat man ein wichtiges Dokument an jemanden verschickt, der es eigentlich nicht bekommen sollte. Daher also der Kontext-Befehl &amp;ldquo;Link als E-Mail versenden&amp;rdquo;.&lt;/p&gt;
&lt;p align="justify"&gt;Aber &amp;ndash; manchmal m&amp;ouml;chte man doch einmal die M&amp;ouml;glichkeit haben, ein Dokument direkt aus einer SharePoint Dokumentbibliothek zu verschicken. Und so war es auch in einem meiner Projekte. Ich gebe zu, dass ich mir eine ganze Weile den Kopf zerbrochen habe, wie man das man besten umsetzen k&amp;ouml;nnte (wobei ich sagen muss, dass meine Anforderungen noch etwas weitergehender sind). Das &lt;a href="http://sharepointcommunity.de/blogs/owirkus/archive/2010/03/29/das-sharepoint-ui-mit-custom-actions-erweitern.aspx" target="_blank"&gt;Erweitern des Kontextmen&amp;uuml;s&lt;/a&gt; war dabei sicher nicht das Problem, denn die Vorgehensweise habe ich in einem &amp;auml;lteren Post bereits beschrieben. Mein Problem war: wie komme ich an das Dokument und wie soll der angemeldete Benutzer die Email-Adresse eingeben, an die das Dokument dann letztendlich verschickt werden soll.&lt;/p&gt;
&lt;p align="justify"&gt;Im Blog von Becky Bertram (nicht in ihrem aktuellen Blog, sondern im Archiv ihres fr&amp;uuml;heren Blogs) habe ich einen sehr interessanten Artikel dar&amp;uuml;ber gefunden. Becky hat darin nicht nur ihren L&amp;ouml;sungsansatz sehr detailliert beschrieben, sondern stellt auch ihren Code zum Download bereit.&lt;/p&gt;
&lt;p align="justify"&gt;F&amp;uuml;r alle, die sich Becky&amp;rsquo;s L&amp;ouml;sung einmal genauer ansehen m&amp;ouml;chten, hier der Link zu ihrem Artikel im Blog-Archiv: &lt;/p&gt;
&lt;p align="justify"&gt;&lt;a title="http://www.beckybertram.com/oldblog/index.php?p=31&amp;amp;more=1&amp;amp;c=1&amp;amp;tb=1&amp;amp;pb=1" href="http://www.beckybertram.com/oldblog/index.php?p=31&amp;amp;more=1&amp;amp;c=1&amp;amp;tb=1&amp;amp;pb=1"&gt;http://www.beckybertram.com/oldblog/index.php?p=31&amp;amp;more=1&amp;amp;c=1&amp;amp;tb=1&amp;amp;pb=1&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://sharepointcommunity.de/blogs/owirkus"&gt;&lt;img alt="Add to Technorati Favorites" src="http://static.technorati.com/pix/fave/tech-fav-1.png" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://weblogs.mysharepoint.de/aggbug.aspx?PostID=18272" width="1" height="1"&gt;</description><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/How+to/default.aspx">How to</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/Tipp/default.aspx">Tipp</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/Development/default.aspx">Development</category></item><item><title>Zielgruppenadressierung (Target Audiences) bei einem WebPart nicht vorhanden</title><link>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/07/02/zielgruppenadressierung-target-audiences-bei-einem-webpart-nicht-vorhanden.aspx</link><pubDate>Fri, 02 Jul 2010 11:27:58 GMT</pubDate><guid isPermaLink="false">1eb0e3d2-d83a-44d0-b840-d81a9d15b663:17948</guid><dc:creator>Oliver Wirkus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/rsscomments.aspx?PostID=17948</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/commentapi.aspx?PostID=17948</wfw:comment><comments>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/07/02/zielgruppenadressierung-target-audiences-bei-einem-webpart-nicht-vorhanden.aspx#comments</comments><description>&lt;p align="justify"&gt;Ein Kollege bat mich bezüglich eines etwas seltsamen Problems um Hilfe: bei einem WebPart war plötzlich die Einstellung für die Zielgruppenadressierung (engl.: Target Audiences) verschwunden.&lt;/p&gt;  &lt;p&gt;Normalerweise sieht die entsprechende Einstellung in den WebPart-Properties ungefähr so aus:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus.metablogapi/7041.TargetAudiences_5F00_467E9222.jpg" target="_blank"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="TargetAudiences" border="0" alt="TargetAudiences" src="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus.metablogapi/8030.TargetAudiences_5F00_thumb_5F00_63380737.jpg" width="83" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Aber genau dieser markierte Eintrag fehlt.&lt;/p&gt;  &lt;p align="justify"&gt;Nach etwas Recherche im Internet habe ich einen Eintrag im Blog von Edward Wilde gefunden. Er hatte offensichtlich ein ähnliches Problem und hat sich die Mühe gemacht, es näher zu untersuchen. Hier der Link zu seinem Artikel:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.edwardwilde.com/2009/12/03/target-audience-property-not-displaying-missing-for-web-parts/" target="_blank"&gt;http://blogs.edwardwilde.com/2009/12/03/target-audience-property-not-displaying-missing-for-web-parts/&lt;/a&gt;&lt;/p&gt; &lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://sharepointcommunity.de/blogs/owirkus"&gt;&lt;img alt="Add to Technorati Favorites" src="http://static.technorati.com/pix/fave/tech-fav-1.png" /&gt;&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://weblogs.mysharepoint.de/aggbug.aspx?PostID=17948" width="1" height="1"&gt;</description><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/How+to/default.aspx">How to</category></item><item><title>Die alte Frage: SharePoint oder SAP? Was ist besser?</title><link>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/04/20/die-alte-frage-sharepoint-oder-sap-was-ist-besser.aspx</link><pubDate>Tue, 20 Apr 2010 08:33:00 GMT</pubDate><guid isPermaLink="false">1eb0e3d2-d83a-44d0-b840-d81a9d15b663:15231</guid><dc:creator>Oliver Wirkus</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/rsscomments.aspx?PostID=15231</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/commentapi.aspx?PostID=15231</wfw:comment><comments>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/04/20/die-alte-frage-sharepoint-oder-sap-was-ist-besser.aspx#comments</comments><description>&lt;p align="justify"&gt;Ich werde oft bei Kundenbesuchen gefragt, was besser ist: SharePoint oder SAP? Klar: diese Frage kann man nicht so einfach beantworten, auch wenn manche Kunden das von einem guten SharePoint Consultant erwarten :-)&lt;/p&gt;
&lt;p align="justify"&gt;In diesen F&amp;auml;llen habe ich meinen Kunden bisher immer einen kleinen Workshop angeboten, in dem ich anhand einer langen Liste von Anforderungen und Auswahlm&amp;ouml;glichkeiten beide Portale (SharePoint und SAP) gegen&amp;uuml;ber gestellt habe. Nachdem alle Anforderungen durchgesprochen und die Auswahlm&amp;ouml;glichkeiten priorisiert sind, haben meine Kunden dann ein durch ihre eigenen Anforderungen und W&amp;uuml;nsche fundiertes Ergebnis bekommen. Anhand dieses detaillierten Ergebnisses kann dann eine Entscheidung pro-SAP oder pro-SharePoint vom Kunden selbst getroffen werden.&lt;/p&gt;
&lt;p align="justify"&gt;Diese Workshops haben mir immer sehr viel Spa&amp;szlig; gemacht, weil es dabei immer zu langen und interessanten Diskussionen kommt und weil ich viele interessante Einblick in die interne Firmenpolitik meiner Kunden bekomme. Letztendlich helfen mir diese Diskussionen, meine Kunden besser zu verstehen und zu beraten.&lt;/p&gt;
&lt;p&gt;So wie es aussieht, bekomme ich jetzt aber ernst zu nehmende Konkurrenz: &lt;a target="_blank" href="http://hunch.com/sharepoint-or-netweaver/"&gt;http://hunch.com/sharepoint-or-netweaver/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ich habe mal ein paar mir bekannte Szenarien durchgespielt: ok, zugegeben - bei hunch.com kommt man schneller zu einer Entscheidung, aber mein Workshop liefert ein wesentlich detaillierteres Ergebnis und diskutieren kann man bei hunch.com auch nicht! Also: keine wirkliche Konkurrenz :-)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://sharepointcommunity.de/blogs/owirkus"&gt;&lt;img src="http://static.technorati.com/pix/fave/tech-fav-1.png" alt="Add to Technorati Favorites" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://weblogs.mysharepoint.de/aggbug.aspx?PostID=15231" width="1" height="1"&gt;</description><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/SAP/default.aspx">SAP</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/Tipp/default.aspx">Tipp</category></item><item><title>jQuery Library for SharePoint Web Services</title><link>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/04/15/jquery-library-for-sharepoint-web-services.aspx</link><pubDate>Thu, 15 Apr 2010 11:55:41 GMT</pubDate><guid isPermaLink="false">1eb0e3d2-d83a-44d0-b840-d81a9d15b663:15053</guid><dc:creator>Oliver Wirkus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/rsscomments.aspx?PostID=15053</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/commentapi.aspx?PostID=15053</wfw:comment><comments>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/04/15/jquery-library-for-sharepoint-web-services.aspx#comments</comments><description>&lt;p align="justify"&gt;ich bin auf eine sehr interessante Artikel-Serie von Marc D. Anderson gestoßen, die ich hier gern verlinken und weiterempfehlen möchte. Absolut lesenswert, wie ich finde. Auf &lt;a href="http://www.endusersharepoint.com" target="_blank"&gt;endusersharepoint.com&lt;/a&gt; findet sich auch eine weitere Artikelserie von Marc zum Thema “&lt;em&gt;Unlocking the Mysteries of Data View Web Part&amp;#160; XLS Tags&lt;/em&gt;” – diese Artikelserie umfasst aktuell 20 Teile :-)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.endusersharepoint.com/2009/11/23/a-jquery-library-for-sharepoint-web-services-wss-3-0-and-moss-real-world-example-part-1/" target="_blank"&gt;Part 1&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.endusersharepoint.com/2009/12/09/a-jquery-library-for-sharepoint-web-services-wss-3-0-and-moss-real-world-example-part-2/" target="_blank"&gt;Part 2&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.endusersharepoint.com/2010/01/12/a-jquery-library-for-sharepoint-web-services-wss-3-0-and-moss-real-world-example-part-3/" target="_blank"&gt;Part 3&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.endusersharepoint.com/2009/12/21/a-jquery-library-for-sharepoint-web-services-wss-3-0-and-moss-part-4-the-spsetmultiselectsizes-function/" target="_blank"&gt;Part 4&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://sharepointcommunity.de/blogs/owirkus"&gt;&lt;img alt="Add to Technorati Favorites" src="http://static.technorati.com/pix/fave/tech-fav-1.png" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://weblogs.mysharepoint.de/aggbug.aspx?PostID=15053" width="1" height="1"&gt;</description><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/Tipp/default.aspx">Tipp</category></item><item><title>SPQuery, CAML und RowLimit</title><link>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/04/09/spquery-caml-und-rowlimit.aspx</link><pubDate>Fri, 09 Apr 2010 14:08:00 GMT</pubDate><guid isPermaLink="false">1eb0e3d2-d83a-44d0-b840-d81a9d15b663:14842</guid><dc:creator>Oliver Wirkus</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/rsscomments.aspx?PostID=14842</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/commentapi.aspx?PostID=14842</wfw:comment><comments>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/04/09/spquery-caml-und-rowlimit.aspx#comments</comments><description>&lt;p align="justify"&gt;In letzter Zeit habe ich &amp;ouml;fter meinen Vortrag &amp;ldquo;&lt;i&gt;Best Practices in der SharePoint-Entwicklung&lt;/i&gt;&amp;rdquo; auf Konferenzen gehalten und darin u.a. Tipps zur Reduzierung der Serverlast bei Abfragen von SharePoint-Listen und Dokumentbibliotheken gegeben.&lt;/p&gt;
&lt;p&gt;Die wichtigsten beiden Tipps waren (und sind):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ein SPQuery-Objekt mit einer CAML-Query verwenden &lt;/li&gt;
&lt;li&gt;RowLimit setzen &lt;/li&gt;
&lt;/ol&gt;
&lt;p align="justify"&gt;Nach meinen Vortr&amp;auml;gen bzw. etwas sp&amp;auml;ter per Email kam dann oft die Frage: &amp;ldquo;&lt;i&gt;Wie programmiere ich denn nun eine Abfrage, bei der ein RowLimit gesetzt ist?&lt;/i&gt;&amp;rdquo;. Da ich auf den Folien meines Vortrags dazu bisher kein Beispiel gezeigt habe, hier ein kurzes Beispiel zur Veranschaulichung:&lt;/p&gt;
&lt;p align="justify"&gt;Zuerst erstellen wir die CAML-Query. In meinem einfachen Beispiel m&amp;ouml;chte ich alle Eintr&amp;auml;ge aus einer Liste haben, in denen das Feld ProjektID auf den Wert 4711 gesetzt wurde. Um die Serverlast zu reduzieren, setzen wir den Wert f&amp;uuml;r das RowLimit auf 100. Die CAML-Query kann man sich &amp;uuml;brigens sehr einfach und komfortabel mit dem U2U CAML Query Builder zusammenklicken.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new,courier;"&gt;SPQuery oQuery = new SPQuery();      &lt;br /&gt;oQuery.Query = &amp;quot;&amp;lt;Where&amp;gt;&amp;lt;Eq&amp;gt;&amp;lt;FieldRef Name=&amp;#39;ProjektID&amp;#39; /&amp;gt;&amp;lt;Value Type=&amp;#39;Text&amp;#39;&amp;gt;4711&amp;lt;/Value&amp;gt;&amp;lt;/Eq&amp;gt;&amp;lt;/Where&amp;gt;&amp;quot;;       &lt;br /&gt;oQuery.RowLimit = 100;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Danach kann ich eine einfache Schleife programmieren, in der die entsprechenden Items aus der Liste ausgelesen werden:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new,courier;"&gt;do      &lt;br /&gt;{       &lt;br /&gt;&amp;nbsp;&amp;nbsp; SPListItemCollection oItems = oList.GetItems(oQuery);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; foreach (SPItem oItem in oItems)      &lt;br /&gt;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Do something &amp;hellip;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; oQuery.ListItemCollectionPosition = oItems.ListItemCollectionPosition;      &lt;br /&gt;}       &lt;br /&gt;while (null != oQuery.ListItemCollectionPosition);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Auf diese Weise werden bei gro&amp;szlig;en Listen die Items nur in handlichen Portionen &amp;aacute; 100 St&amp;uuml;ck (siehe RowLimit) geholt. Zus&amp;auml;tzlich kann man die Anzahl an zur&amp;uuml;ckgegebenen Feldern noch durch einen ViewFields-Eintrag begrenzen. Bedeutet: alle Felder, die ich in meiner Bearbeitungsschleife nicht ben&amp;ouml;tige, kann ich &amp;uuml;ber einen ViewFields-Eintrag am SPQuery-Objekt ausblenden.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://sharepointcommunity.de/blogs/owirkus"&gt;&lt;img alt="Add to Technorati Favorites" src="http://static.technorati.com/pix/fave/tech-fav-1.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&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:471ed0a4-d79d-48dd-8a22-168ff25f83c0" class="wlWriterEditableSmartContent"&gt;Technorati-Tags: &lt;a href="http://technorati.com/tags/SharePoint" rel="tag"&gt;SharePoint&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Development" rel="tag"&gt;Development&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://weblogs.mysharepoint.de/aggbug.aspx?PostID=14842" width="1" height="1"&gt;</description><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/How+to/default.aspx">How to</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/Development/default.aspx">Development</category></item><item><title>Das SharePoint UI mit Custom Actions erweitern</title><link>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/03/29/das-sharepoint-ui-mit-custom-actions-erweitern.aspx</link><pubDate>Mon, 29 Mar 2010 08:00:00 GMT</pubDate><guid isPermaLink="false">1eb0e3d2-d83a-44d0-b840-d81a9d15b663:14469</guid><dc:creator>Oliver Wirkus</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/rsscomments.aspx?PostID=14469</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/commentapi.aspx?PostID=14469</wfw:comment><comments>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/03/29/das-sharepoint-ui-mit-custom-actions-erweitern.aspx#comments</comments><description>&lt;p align="justify"&gt;Die f&amp;uuml;r mich besten Gelegenheiten, einen l&amp;auml;ngeren Beitrag zu schreiben, sind wenn eine entsprechende Anforderung in einem Projekt auftaucht. Da kann man dann immer das Schreiben mit der Recherche verbinden &amp;ndash; so auch in diesem Fall.&lt;/p&gt;
&lt;p align="justify"&gt;In diesem Post geht es um die M&amp;ouml;glichkeiten, das SharePoint UI mit Custom Actions zu erweitern. Dazu schauen wir uns zuerst einmal an, an welchen Stellen man das SharePoint-UI mit Custom Actions erweitern kann. Custom Actions k&amp;ouml;nnen Links, Toolbar Buttons oder Men&amp;uuml;eintr&amp;auml;ge sein, die man dem SharePoint UI hinzuf&amp;uuml;gen oder aber auch daraus entfernen kann.&lt;/p&gt;
&lt;p align="justify"&gt;In der folgenden Tabelle habe ich einmal die Erweiterungsm&amp;ouml;glichkeiten aufgelistet. Neben den &lt;i&gt;List forms&lt;/i&gt; (Display, Edit, New) kann man auch den sogenannten &lt;i&gt;Edit Control Block&lt;/i&gt; (ECB) &amp;ndash;also das Item-Kontextmen&amp;uuml;&amp;ndash;&amp;nbsp; und sogar die Central Administration mit Custom Actions erweitern. Auch das Site Action Men&amp;uuml; kann mit Custom Actions erweitert werden.&lt;/p&gt;
&lt;table width="593" cellpadding="2" cellspacing="0" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;
&lt;p align="center"&gt;&lt;b&gt;Description&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="106" valign="top"&gt;
&lt;p align="center"&gt;&lt;b&gt;Location&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="116" valign="top"&gt;
&lt;p align="center"&gt;&lt;b&gt;GroupId&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;Display form toolbar&lt;/td&gt;
&lt;td width="106" valign="top"&gt;DisplayFormToolbar&lt;/td&gt;
&lt;td width="116" valign="top"&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;Edit form toolbar&lt;/td&gt;
&lt;td width="106" valign="top"&gt;Edit form toolbar&lt;/td&gt;
&lt;td width="116" valign="top"&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;New form toolbar&lt;/td&gt;
&lt;td width="106" valign="top"&gt;New form toolbar&lt;/td&gt;
&lt;td width="116" valign="top"&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;List view toolbar&lt;/td&gt;
&lt;td width="106" valign="top"&gt;List view toolbar&lt;/td&gt;
&lt;td width="116" valign="top"&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;List item context menu&lt;/td&gt;
&lt;td width="106" valign="top"&gt;EditControlBlock&lt;/td&gt;
&lt;td width="116" valign="top"&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;New menu for list and document library view toolbars&lt;/td&gt;
&lt;td width="106" valign="top"&gt;Microsoft.SharePoint.StandardMenu&lt;/td&gt;
&lt;td width="116" valign="top"&gt;NewMenu&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;Actions menu for list and document library view toolbar&lt;/td&gt;
&lt;td width="106" valign="top"&gt;Microsoft.SharePoint.StandardMenu&lt;/td&gt;
&lt;td width="116" valign="top"&gt;ActionsMenu&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;Settings menu for list and document library view toolbars&lt;/td&gt;
&lt;td width="106" valign="top"&gt;Microsoft.SharePoint.StandardMenu&lt;/td&gt;
&lt;td width="116" valign="top"&gt;
&lt;p&gt;SettingsMenu&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;Upload documents menu for document libraries&lt;/td&gt;
&lt;td width="106" valign="top"&gt;Microsoft.SharePoint.StandardMenu&lt;/td&gt;
&lt;td width="116" valign="top"&gt;UploadMenu&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;Site Actions menu&lt;/td&gt;
&lt;td width="106" valign="top"&gt;Microsoft.SharePoint.StandardMenu&lt;/td&gt;
&lt;td width="116" valign="top"&gt;SiteActions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;Site Settings Site Collection Administration links&lt;/td&gt;
&lt;td width="106" valign="top"&gt;Microsoft.SharePoint.SiteSettings&lt;/td&gt;
&lt;td width="116" valign="top"&gt;SiteCollectionAdmin&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;Site Settings Site Administration links&lt;/td&gt;
&lt;td width="106" valign="top"&gt;Microsoft.SharePoint.SiteSettings&lt;/td&gt;
&lt;td width="116" valign="top"&gt;SiteAdministration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;Site Settings Galleries Links&lt;/td&gt;
&lt;td width="106" valign="top"&gt;Microsoft.SharePoint.SiteSettings&lt;/td&gt;
&lt;td width="116" valign="top"&gt;
&lt;p&gt;Galleries&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;Site Settings Look and Feel links&lt;/td&gt;
&lt;td width="106" valign="top"&gt;Microsoft.SharePoint.SiteSettings&lt;/td&gt;
&lt;td width="116" valign="top"&gt;Customization&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;Site Settings Users and Permissions links&lt;/td&gt;
&lt;td width="106" valign="top"&gt;Microsoft.SharePoint.SiteSettings&lt;/td&gt;
&lt;td width="116" valign="top"&gt;UsersAndPermissions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;Site Actions menu for surveys&lt;/td&gt;
&lt;td width="106" valign="top"&gt;Microsoft.SharePoint.StandardMenu&lt;/td&gt;
&lt;td width="116" valign="top"&gt;ActionsMenuForSurvey&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;Site Settings links for survey&lt;/td&gt;
&lt;td width="106" valign="top"&gt;Microsoft.SharePoint.SiteSettings&lt;/td&gt;
&lt;td width="116" valign="top"&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;Content Type Settings links&lt;/td&gt;
&lt;td width="106" valign="top"&gt;Microsoft.SharePoint. ContentTypeSettings&lt;/td&gt;
&lt;td width="116" valign="top"&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;Central Administration Operations page&lt;/td&gt;
&lt;td width="106" valign="top"&gt;Microsoft.SharePoint.Administration. Operation&lt;/td&gt;
&lt;td width="116" valign="top"&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="369" valign="top"&gt;Central Administration Application Management page&lt;/td&gt;
&lt;td width="106" valign="top"&gt;
&lt;p&gt;Microsoft.SharePoint.Administration. ApplicationManagement &lt;/p&gt;
&lt;/td&gt;
&lt;td width="116" valign="top"&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;(&lt;i&gt;Tabelle von Andr&amp;eacute; Vala&lt;/i&gt;)&lt;/p&gt;
&lt;p align="justify"&gt;Da wir jetzt wissen, welche Teile des SharePoint UI wir mit Custom Actions erweitern k&amp;ouml;nnen, schauen wir uns an, wie man so eine Custom Action erstellt. Wie bei SharePoint &amp;uuml;blich werden auch Custom Actions an ein Feature gekoppelt. Das erste was wir also brauchen, ist eine Datei mit dem Namen feature.xml:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt; &lt;br /&gt;&amp;lt;Feature Id=&amp;quot;2CF55F2C-0A07-4a2d-BF9C-63BFDE32168D&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Title=&amp;quot;Feature Custom Action Feature&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description=&amp;quot;My Custom Action Feature Description.&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Version=&amp;quot;1.0.0.0&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Scope=&amp;quot;Site&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns=&amp;quot;&lt;/span&gt;&lt;a href="http://schemas.microsoft.com/sharepoint/&amp;quot;"&gt;&lt;span style="font-family:Courier New;"&gt;http://schemas.microsoft.com/sharepoint/&amp;quot;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Courier New;"&gt;&amp;gt; &lt;br /&gt;&amp;nbsp; &amp;lt;ElementManifests&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ElementManifest Location=&amp;quot;MyCustomAction.xml&amp;quot;/&amp;gt; &lt;br /&gt;&amp;nbsp; &amp;lt;/ElementManifests&amp;gt; &lt;br /&gt;&amp;lt;/Feature&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;div class="csharpcode-wrapper" id="codeSnippetWrapper"&gt;
&lt;div class="csharpcode" id="codeSnippet"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p align="justify"&gt;Schauen wir uns die &lt;i&gt;feature.xml&lt;/i&gt; etwas n&amp;auml;her an. Unter&lt;i&gt; Feature Id&lt;/i&gt; hinterlegen wir eine &lt;span style="text-decoration:underline;"&gt;neu&lt;/span&gt; generierte GUID (&lt;span style="text-decoration:underline;"&gt;bitte nicht von irgendwo her kopieren&lt;/span&gt;). &lt;i&gt;Title&lt;/i&gt; und &lt;i&gt;Description&lt;/i&gt; sind selbsterkl&amp;auml;rend. Interessant ist dann wieder der Eintrag &lt;i&gt;ElementManifest Location&lt;/i&gt;. Hier geben wir den Namen einer XML-Datei an, die die eigentliche Beschreibung unserer Custom Action enth&amp;auml;lt.&lt;/p&gt;
&lt;p align="justify"&gt;Da es eine ganze Menge an m&amp;ouml;glichen Locations gibt, gibt es auch nicht die eine&lt;i&gt; elements.xml&lt;/i&gt;. Bedeutet: je nach Location unterscheiden sich die einzelnen Parameter in der XML-Datei. Eine gute &amp;Uuml;bersicht findet sich bei MSDN oder im &lt;a target="_blank" href="http://blogit.create.pt/blogs/andrevala/archive/2008/08/11/SharePoint-2007-Deployment_3A00_-Custom-Action-Features.aspx"&gt;Blog von Andr&amp;eacute; Vala&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt; &lt;br /&gt;&amp;lt;Elements xmlns=&amp;quot;&lt;/span&gt;&lt;a href="http://schemas.microsoft.com/sharepoint/&amp;quot;"&gt;&lt;span style="font-family:Courier New;"&gt;http://schemas.microsoft.com/sharepoint/&amp;quot;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Courier New;"&gt;&amp;gt; &lt;br /&gt;&amp;nbsp; &amp;lt;CustomAction &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Location=&amp;quot;EditControlBlock&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RegistrationType=&amp;quot;List&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RegistrationId=&amp;quot;101&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Title=&amp;quot;My Custom Action&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description=&amp;quot;My Custom Action Description&amp;quot;&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;UrlAction Url=&amp;quot;&lt;/span&gt;&lt;a href="http://sharepointcommunity.de/blogs/owirkus&amp;quot;/"&gt;&lt;span style="font-family:Courier New;"&gt;http://sharepointcommunity.de/blogs/owirkus&amp;quot;/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Courier New;"&gt;&amp;gt; &lt;br /&gt;&amp;nbsp; &amp;lt;/CustomAction&amp;gt; &lt;br /&gt;&amp;lt;/Elements&amp;gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;In meinem einfachen Beispiel m&amp;ouml;chte ich eine Custom Action in den &lt;i&gt;EditControlBlock&lt;/i&gt; (also das Item Kontextmen&amp;uuml;) einer Dokumentlibrary einbauen (daher die RegistrationId = 101). Interessant an der obigen elements.xml ist die Zeile &lt;i&gt;UrlAction&lt;/i&gt;. Hier sieht man, wie die Sache mit den Custom Actions funktioniert. Man tr&amp;auml;gt im SharePoint UI &amp;uuml;ber eine Custom Action einen Link oder einen Button ein und dahinter verbirgt sich immer eine URL &amp;ndash; etwas anderes ist nicht m&amp;ouml;glich! In meinem Beispiel soll die CustomAction die Startseite meines Blogs im Browser anzeigen. &lt;/p&gt;
&lt;p align="justify"&gt;Die Installation l&amp;auml;uft ab wie &amp;uuml;blich. Am besten w&amp;auml;re es nat&amp;uuml;rlich, beide Dateien z.B. mit dem WSPBuilder in eine Solution zu verpacken. Hier in meinem Beispiel m&amp;ouml;chte ich aber den manuellen Weg w&amp;auml;hlen. Zuerst erstellen wir also ein Verzeichnis mit dem Namen CustomActionDemo und dorthin kopieren wir die beiden XML-Dateien. Die erste muss &lt;i&gt;feature.xml&lt;/i&gt; heissen, die zweite &amp;ndash;weil in der feature.xml so festgelegt&amp;ndash; &lt;i&gt;mycustomaction.xml&lt;/i&gt;. Das Verzeichnis mit beiden Dateien kopieren wir nun in den &lt;i&gt;12-Hive&lt;/i&gt; in TEMPLATE\Feature. Danach k&amp;ouml;nnen wir das Feature mit STSADM wie gewohnt installieren:&lt;/p&gt;
&lt;p&gt;stsadm &amp;ndash;o installfeature &amp;ndash;filename customactiondemo\feature.xml&lt;/p&gt;
&lt;p&gt;Wenn das geklappt hat k&amp;ouml;nnen wir das Feature aktivieren:&lt;/p&gt;
&lt;p&gt;stsadm &amp;ndash;o activatefeature &amp;ndash;filename customactiondemo\feature.xml &amp;ndash;url http:\\mossdemo01&amp;nbsp; (die Url muss nat&amp;uuml;rlich angepasst werden)&lt;/p&gt;
&lt;p&gt;Wenn alles geklappt hat, sollte unser Feature in den&lt;i&gt; Site Collection Features&lt;/i&gt; so auftauchen:&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus.metablogapi/8424.image_5F00_2AE0A84D.png"&gt;&lt;img height="38" width="504" src="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus.metablogapi/1007.image_5F00_thumb_5F00_1E42D564.png" alt="image" border="0" title="image" style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Und im SharePoint bei einer Dokumentbibliothek sieht das Ganze dann so aus:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus.metablogapi/8030.image_5F00_0B21A8B8.png"&gt;&lt;img height="202" width="504" src="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus.metablogapi/3225.image_5F00_thumb_5F00_291FB6AC.png" alt="image" border="0" title="image" style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;So kann man also eine Custom Action mit einer Dokumentbibliothek verbinden. Das ist sicherlich gut um die Grundlagen von Custom Actions zu erkl&amp;auml;ren, aber im praktischen Projekteinsatz ist die starre Verbindung zwischen Liste und Custom Action nicht immer sinnvoll. Da ich ein gro&amp;szlig;er Fan von ContentTypes bin, habe ich mir gleich auch noch angesehen, wie man eine Custom Action mit einem ContentType verbinden kann. Prinzipiell ist die Vorgehensweise &amp;auml;hnlich, wir m&amp;uuml;ssen nur die Eintr&amp;auml;ge f&amp;uuml;r RegistrationType und RegistrationId ver&amp;auml;ndern.&lt;/p&gt;
&lt;p&gt;Das sieht dann z.B. so aus:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt; &lt;br /&gt;&amp;lt;Elements xmlns=&amp;quot;&lt;/span&gt;&lt;a href="http://schemas.microsoft.com/sharepoint/&amp;quot;"&gt;&lt;span style="font-family:Courier New;"&gt;http://schemas.microsoft.com/sharepoint/&amp;quot;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Courier New;"&gt;&amp;gt; &lt;br /&gt;&amp;nbsp; &amp;lt;CustomAction &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Location=&amp;quot;EditControlBlock&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RegistrationType=&amp;quot;ContentType&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RegistrationId=&amp;quot;0x010100D894B664B7852642BC207CEBD680600D&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Title=&amp;quot;My Custom Action&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description=&amp;quot;My Custom Action Description&amp;quot;&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;UrlAction Url=&amp;quot;&lt;/span&gt;&lt;a href="http://sharepointcommunity.de/blogs/owirkus&amp;quot;/"&gt;&lt;span style="font-family:Courier New;"&gt;http://sharepointcommunity.de/blogs/owirkus&amp;quot;/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Courier New;"&gt;&amp;gt; &lt;br /&gt;&amp;nbsp; &amp;lt;/CustomAction&amp;gt; &lt;br /&gt;&amp;lt;/Elements&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Schlecht an der Konfiguration ist leider nur, dass man den ContentType &amp;uuml;ber seine GUID referenzieren muss. Eine Referenzierung &amp;uuml;ber den Namen klappt leider nicht! Wenn man &amp;ndash;wie ich&amp;ndash; ContentTypes gern &amp;uuml;ber die SharePoint-Oberfl&amp;auml;che (und weniger &amp;uuml;ber Code) anlegt, dann hat man in diesem Fall leider zwei Probleme: wie komme ich an die GUID eines ContentTypes, den man &amp;uuml;ber die Oberfl&amp;auml;che angelegt hat und wie verh&amp;auml;lt sich die Sache, wenn ich vom Entwicklungssystem auf das Produktivsystem bzw. auf das Testsystem &amp;uuml;bertrage?&lt;/p&gt;
&lt;p align="justify"&gt;Erste Frage: wie komme ich an die GUID des ContentTypes? Sofern man den ContentType &amp;uuml;ber die Oberfl&amp;auml;che von SharePoint angelegt hat, gibt es meines Wissens nach nur eine M&amp;ouml;glichkeit: aus der Statuszeile rauskopieren. Zugegeben &amp;ndash; sehr unsch&amp;ouml;n, aber immerhin m&amp;ouml;glich. Man l&amp;auml;sst sich dazu die &lt;i&gt;Site Content Type Gallery&lt;/i&gt; anzeigen und schiebt vorsichtig den Mauszeiger auf den Namen des ContentType &amp;ndash; aber nicht klicken!!! In der Statuszeile wird jetzt die GUID angezeigt. Das sieht dann ungef&amp;auml;hr so aus:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus.metablogapi/6378.image_5F00_46455EB6.png"&gt;&lt;img height="53" width="504" src="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus.metablogapi/2654.image_5F00_thumb_5F00_4500C5D7.png" alt="image" border="0" title="image" style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p align="justify"&gt;Der lange String hinter &lt;i&gt;ctype=&lt;/i&gt; ist die GUID des ContentTypes. Wie gesagt &amp;ndash; etwas unsch&amp;ouml;n das Ganze, aber wenn jemand eine bessere M&amp;ouml;glichkeit kennt, w&amp;auml;re ich froh &amp;uuml;ber einen Hinweis in einem Kommentar zu diesem Post.&lt;/p&gt;
&lt;p align="justify"&gt;Zur zweiten Frage: die &amp;Uuml;bertragung vom Entwicklungssystem auf das Produktivsystem bzw. das Testsystem ist nat&amp;uuml;rlich in diesem Fall etwas heikel. Sofern bei der &amp;Uuml;bertragungsmethode die GUID des ContentTypes nicht ge&amp;auml;ndert wird, wird die Custom Action weiterhin funktionieren. Besser ist es, den ContentType programmatisch zu erzeugen. Auf diese Weise kann man sicherstellen, dass die GUID des ContentTypes weiterhin g&amp;uuml;ltig bleibt. Allerdings gibt es durchaus Situationen, in denen der Weg &amp;uuml;ber die Programmierung nicht funktioniert &amp;ndash; z.B. wenn der ContentType bereits existiert.&lt;/p&gt;
&lt;p align="justify"&gt;Soweit zu den Basics von Custom Actions! Das Hauptproblem bei Custom Actions ist meiner Meinung nach das Erstellen der &lt;i&gt;elements.xml&lt;/i&gt;. Je nach &lt;i&gt;Location&lt;/i&gt; &amp;auml;ndern sich die folgenden Parameter. Hier hilft dann wirklich nur noch ein wenig Experimentieren und ein Blick in die MSDN. Das zweite was man sicher vorher &amp;uuml;berlegen sollte: kann ich die Aktion, die durch die Custom Action ausgef&amp;uuml;hrt werden soll, &amp;uuml;ber einen Link ansprechen? Wenn ja, wie implementiere ich die auszuf&amp;uuml;hrende Aktion? Da man als Url nicht unbedingt einen festen Wert (wie in meinem Beispiel), sondern auch lokale Pfade verwenden kann, gibt es hier einige M&amp;ouml;glichkeiten der Umsetzung.&lt;/p&gt;
&lt;p align="justify"&gt;Weitere Informationen &amp;uuml;ber Custom Actions finden sich in der MSDN:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms460194.aspx" title="http://msdn.microsoft.com/en-us/library/ms460194.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms460194.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration:underline;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration:underline;"&gt;&lt;strong&gt;Nachtrag:&lt;/strong&gt;&lt;/span&gt; man kan seine eigene Custom Action nat&amp;uuml;rlich auch mit einem kleinen Icon versehen. Im 12-Hive unter TEMPLATE/IMAGES gibt es eine ganze Menge mitgelieferter Icons. Auf diese Icons kann man zur&amp;uuml;ckgreifen. Dazu f&amp;uuml;gt man einfach folgende Zeile in die Datei elements.xml zwischen die &lt;em&gt;CustomAction&lt;/em&gt;-Tags ein:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new,courier;"&gt;ImageUrl=&amp;quot;/_layouts/images/lg_ICMSG.gif&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new,courier;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4e5d5376-196b-49e9-a970-6db60c5c0ae2" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;Technorati-Tags: &lt;a rel="tag" href="http://technorati.com/tags/SharePoint"&gt;SharePoint&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/Custom+Action"&gt;Custom Action&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/Development"&gt;Development&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://sharepointcommunity.de/blogs/owirkus"&gt;&lt;img src="http://static.technorati.com/pix/fave/tech-fav-1.png" alt="Add to Technorati Favorites" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration:underline;"&gt;Nachtrag:&lt;/span&gt; Danke an Andi Fandrich f&amp;uuml;r den Hinweis: klar &amp;ndash; aus der URL im Browser kann man sich die GUID des ContentTypes auch herauskopieren. Das geht sogar besser, weil man hier mit Cut and Paste arbeiten kann. Das Ganze sieht dann so aus:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus.metablogapi/2654.image_5F00_7E17D6A5.png"&gt;&lt;img height="40" width="504" src="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus.metablogapi/7357.image_5F00_thumb_5F00_14F6A822.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://weblogs.mysharepoint.de/aggbug.aspx?PostID=14469" width="1" height="1"&gt;</description><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/Development/default.aspx">Development</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category></item><item><title>ShareConf, München, 22.-24.6.2010 – ich bin als Sprecher dabei</title><link>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/03/26/shareconf-m-252-nchen-22-24-6-2010-ich-bin-als-sprecher-dabei.aspx</link><pubDate>Fri, 26 Mar 2010 11:24:53 GMT</pubDate><guid isPermaLink="false">1eb0e3d2-d83a-44d0-b840-d81a9d15b663:14432</guid><dc:creator>Oliver Wirkus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/rsscomments.aspx?PostID=14432</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/commentapi.aspx?PostID=14432</wfw:comment><comments>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/03/26/shareconf-m-252-nchen-22-24-6-2010-ich-bin-als-sprecher-dabei.aspx#comments</comments><description>&lt;p&gt;Ich freue mich Ende Juni auf der &lt;strong&gt;ShareConf&lt;/strong&gt; in München als Sprecher dabei sein zu dürfen. Auf der ShareConf werde ich mich mal etwas von dem aktuellen SharePoint-2010-Hype lossagen und in meinem Vortrag nicht über Neuerungen von SharePoint 2010 berichten. &lt;/p&gt;  &lt;p align="justify"&gt;Vielmehr möchte ich mich auf Praxisbeispiele konzentrieren und von den Möglichkeiten berichten, wie man SharePoint (egal ob 2007 oder 2010) und SAP zusammenbringen kann. In meinem Vortrag zeige ich, dass man eine SAP-Anbindung an SharePoint durchaus auch mit Bordmitteln hinbekommt – Lösungen von Drittanbietern sind also nicht in jedem Fall erforderlich.&lt;/p&gt;  &lt;p align="justify"&gt;Wie gesagt – ich freue mich auf München, auf die ShareConf, einen hoffentlich spannenden Vortrag und natürlich die Gespräche mit interessierten SharePoint-Usern.&lt;/p&gt;  &lt;p&gt;Wir sehen uns also dann in München auf der ShareConf!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.shareconf.de/" target="_blank"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus.metablogapi/3225.image_5F00_582BB784.png" width="504" height="136" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;P.S.: Die Agenda ist bisher noch nicht verfügbar, bis Mitte April soll diese aber veröffentlicht werden!&lt;/p&gt;  &lt;p&gt;&lt;/p&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:75c9f5f9-177f-41fd-a8c1-6dd3ac3a7f27" class="wlWriterEditableSmartContent"&gt;Technorati-Tags: &lt;a href="http://technorati.com/tags/Event" rel="tag"&gt;Event&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SharePoint" rel="tag"&gt;SharePoint&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SAP" rel="tag"&gt;SAP&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://sharepointcommunity.de/blogs/owirkus"&gt;&lt;img alt="Add to Technorati Favorites" src="http://static.technorati.com/pix/fave/tech-fav-1.png" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://weblogs.mysharepoint.de/aggbug.aspx?PostID=14432" width="1" height="1"&gt;</description><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/Event/default.aspx">Event</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/SAP/default.aspx">SAP</category></item><item><title>MOSS vs WSS</title><link>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/03/03/moss-vs-wss.aspx</link><pubDate>Wed, 03 Mar 2010 10:28:00 GMT</pubDate><guid isPermaLink="false">1eb0e3d2-d83a-44d0-b840-d81a9d15b663:13474</guid><dc:creator>Oliver Wirkus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/rsscomments.aspx?PostID=13474</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/commentapi.aspx?PostID=13474</wfw:comment><comments>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/03/03/moss-vs-wss.aspx#comments</comments><description>&lt;p&gt;Bei vielen meiner Kundenbesuche kommt meist am Anfang die Frage nach den Unterschieden zwischen MOSS und WSS. Meist steckt hinter dieser Frage der durchaus verst&amp;auml;ndliche Wunsch, bei der Einf&amp;uuml;hrung von SharePoint die ersten Tests und Prototypen auf WSS aufzubauen und sp&amp;auml;ter auf MOSS zu migrieren.&lt;/p&gt;
&lt;p&gt;Bisher habe ich zur Beantwortung dieser Frage meine eigene Tabelle mit einer Gegen&amp;uuml;berstellung der wichtigsten Unterschiede verwendet. Aber wirklich gl&amp;uuml;cklich war ich damit nie.&lt;/p&gt;
&lt;p&gt;Jetzt habe ich bei Miles Consulting eine ausf&amp;uuml;hrliche Tabelle gefunden, die die Unterschiede zwischen MOSS und WSS gut und verst&amp;auml;ndlich auflistet.&lt;/p&gt;
&lt;p&gt;Hier der Link: http://www.milesconsultingcorp.com/SharePoint-Portal-2007-Version-Comparison-between-MOSS2007-and-WSS3.aspx&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://sharepointcommunity.de/blogs/owirkus"&gt;&lt;img src="http://static.technorati.com/pix/fave/tech-fav-1.png" alt="Add to Technorati Favorites" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://weblogs.mysharepoint.de/aggbug.aspx?PostID=13474" width="1" height="1"&gt;</description><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>SharePoint 2007 – Calculated Field Formulas</title><link>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/02/11/sharepoint-2007-calculated-field-formulas.aspx</link><pubDate>Thu, 11 Feb 2010 11:07:00 GMT</pubDate><guid isPermaLink="false">1eb0e3d2-d83a-44d0-b840-d81a9d15b663:12767</guid><dc:creator>Oliver Wirkus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/rsscomments.aspx?PostID=12767</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/commentapi.aspx?PostID=12767</wfw:comment><comments>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/02/11/sharepoint-2007-calculated-field-formulas.aspx#comments</comments><description>&lt;p align="justify"&gt;Ich gerade in einem Kundenprojekt sehr intensiv mit dem Thema &amp;ldquo;Berechnete Felder&amp;rdquo; (&lt;em&gt;Calculated Fields&lt;/em&gt;) besch&amp;auml;ftig. Bei einer Recherche nach einer Formel&amp;uuml;bersicht bin ich auf diese Seite bei Microsoft gesto&amp;szlig;en. Microsoft gibt hier eine gute &amp;Uuml;bersicht &amp;uuml;ber die Formeln und illustriert deren Verwendung anhand von Beispielen. Ideal, wenn man sich mal n&amp;auml;her mit dem Thema Berechnete Felder besch&amp;auml;ftigen will.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Hier der Link: &lt;a href="http://msdn.microsoft.com/en-us/library/bb862071.aspx" title="http://msdn.microsoft.com/en-us/library/bb862071.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb862071.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:edc9b7c3-0b16-4a5b-95d1-8a0f6147d462" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;Technorati-Tags: &lt;a rel="tag" href="http://technorati.com/tags/SharePoint+2007"&gt;SharePoint 2007&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/MOSS+2007"&gt;MOSS 2007&lt;/a&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://sharepointcommunity.de/blogs/owirkus"&gt;&lt;img src="http://static.technorati.com/pix/fave/tech-fav-1.png" alt="Add to Technorati Favorites" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://weblogs.mysharepoint.de/aggbug.aspx?PostID=12767" width="1" height="1"&gt;</description><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/Tipp/default.aspx">Tipp</category></item><item><title>WSPBuilder in einer neuen (Beta)-Version</title><link>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/02/10/wspbuilder-in-einer-neuen-beta-version.aspx</link><pubDate>Wed, 10 Feb 2010 14:17:00 GMT</pubDate><guid isPermaLink="false">1eb0e3d2-d83a-44d0-b840-d81a9d15b663:12729</guid><dc:creator>Oliver Wirkus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/rsscomments.aspx?PostID=12729</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/commentapi.aspx?PostID=12729</wfw:comment><comments>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/02/10/wspbuilder-in-einer-neuen-beta-version.aspx#comments</comments><description>&lt;p align="justify"&gt;Mein Lieblingstool im SharePoint-Umfeld liegt in einer neuen (Beta) Version vor. Carsten Keutmann hat seinen WSPBuilder erweitert und unterst&amp;uuml;tzt nun zus&amp;auml;tzlich SharePoint 2010 und Visual Studio 2010.&lt;/p&gt;
&lt;p align="justify"&gt;Zum Gl&amp;uuml;ck werden aber auch SharePoint 2007 und Visual Studio 2005 und Visual Studio 2008 weiter unterst&amp;uuml;tzt. Carsten ist die Backward-Compatibility sehr wichtig &amp;ndash; und dies gilt sicher auch f&amp;uuml;r alle SharePoint-Entwickler.&lt;/p&gt;
&lt;p&gt;Alle neuen Features mit ausf&amp;uuml;hrlichen Erkl&amp;auml;rungen und Screenshots finden sich in seinem Blog.&lt;/p&gt;
&lt;p&gt;Hier der Link: &lt;a href="http://keutmann.blogspot.com/2009/12/wspbuilder-2010-beta.html" title="http://keutmann.blogspot.com/2009/12/wspbuilder-2010-beta.html"&gt;http://keutmann.blogspot.com/2009/12/wspbuilder-2010-beta.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:18f40286-c0ae-49ab-85ad-ec0002aa2c61" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;Technorati-Tags: &lt;a rel="tag" href="http://technorati.com/tags/SharePoint+2007"&gt;SharePoint 2007&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/MOSS+2007"&gt;MOSS 2007&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/SharePoint+2010"&gt;SharePoint 2010&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/Visual+Studio+2010"&gt;Visual Studio 2010&lt;/a&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://sharepointcommunity.de/blogs/owirkus"&gt;&lt;img src="http://static.technorati.com/pix/fave/tech-fav-1.png" alt="Add to Technorati Favorites" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://weblogs.mysharepoint.de/aggbug.aspx?PostID=12729" width="1" height="1"&gt;</description><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/Development/default.aspx">Development</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category></item><item><title>BASTA! Spring 2010 - Ich bin als Sprecher dabei</title><link>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/01/08/basta-spring-2010-ich-bin-als-sprecher-dabei.aspx</link><pubDate>Fri, 08 Jan 2010 12:04:00 GMT</pubDate><guid isPermaLink="false">1eb0e3d2-d83a-44d0-b840-d81a9d15b663:11636</guid><dc:creator>Oliver Wirkus</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/rsscomments.aspx?PostID=11636</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.mysharepoint.de/blogs/owirkus/commentapi.aspx?PostID=11636</wfw:comment><comments>http://weblogs.mysharepoint.de/blogs/owirkus/archive/2010/01/08/basta-spring-2010-ich-bin-als-sprecher-dabei.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus/6283.header_5F00_de.png"&gt;&lt;/a&gt;&lt;a href="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus/1007.Clipboard02.jpg"&gt;&lt;img src="http://sharepointcommunity.de/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus/1007.Clipboard02.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Ich freue mich, als Sprecher auf der BASTA! Spring 2010 (22. - 26.2.2010 in Darmstadt) zwei Vortr&amp;auml;ge zu den Themen &amp;quot;Best Practices in der WebPart-Entwicklung&amp;quot; und &amp;quot;Custom Field Types - Entwicklung und Einsatzm&amp;ouml;glichkeiten&amp;quot;&amp;nbsp; halten zu d&amp;uuml;rfen.&lt;/p&gt;
&lt;p&gt;Weitere Infos zur BASTA! Spring 2010 gibt es &amp;uuml;ber diesen Link:&lt;a target="_blank" href="http://it-republik.de/dotnet/basta10spring/"&gt; http://it-republik.de/dotnet/basta10spring/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Eine Liste aller Sprecher und ihrer Themen gibt es hier: &lt;a target="_blank" href="http://it-republik.de/dotnet/basta10spring/speaker/"&gt;http://it-republik.de/dotnet/basta10spring/speaker/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ich freue mich auf&amp;nbsp; auf interessante Vortr&amp;auml;ge und gute Gespr&amp;auml;che!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:medium;"&gt;&lt;b&gt;Treffen wir uns am 25.2.2010 auf der BASTA! Spring 2010 in Darmstadt :-)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration:underline;"&gt;&amp;Uuml;brigens&lt;/span&gt;: hier die Daten zu meinen beiden Vortr&amp;auml;gen:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus/1588.Zwischenablage02.jpg"&gt;&lt;img src="http://sharepointcommunity.de/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/owirkus/1588.Zwischenablage02.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration:underline;"&gt;Nachtrag:&lt;/span&gt; es gab eine kleine &amp;Auml;nderung - mein Vortrag &amp;quot;Best practices in der WebPart-Enwicklung&amp;quot; findet nun etwas sp&amp;auml;ter statt.&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration:underline;"&gt;Nachtrag:&lt;/span&gt; Ich habe heute Nachmittag erfahren, dass mein zweiter Vortrag (&lt;i&gt;Best Practices in der WebPart-Entwicklung&lt;/i&gt;) auf Video aufgezeichnet und ver&amp;ouml;ffentlicht werden soll. Das freut mich nat&amp;uuml;rlich und es w&amp;auml;re f&amp;uuml;r mich eine echte Premiere :-) Daher bin ich f&amp;uuml;r Unterst&amp;uuml;tzung in Form eines gro&amp;szlig;en Publikums sehr dankbar. Also - wer mit auf&amp;#39;s Video will sollte in meine Session kommen :-)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://weblogs.mysharepoint.de/aggbug.aspx?PostID=11636" width="1" height="1"&gt;</description><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.mysharepoint.de/blogs/owirkus/archive/tags/Event/default.aspx">Event</category></item></channel></rss>