<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Tom on Blog</title>
	<atom:link href="http://www.bullit-bytes.de/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bullit-bytes.de/blog</link>
	<description>Ein weiteres tolles WordPress-Blog</description>
	<pubDate>Mon, 20 Dec 2010 10:54:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Felder in Inhaltstypen nutzen</title>
		<link>http://www.bullit-bytes.de/blog/2010/12/felder-in-inhaltstypen-nutzen/</link>
		<comments>http://www.bullit-bytes.de/blog/2010/12/felder-in-inhaltstypen-nutzen/#comments</comments>
		<pubDate>Mon, 20 Dec 2010 10:54:00 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
		
		<category><![CDATA[Deployment]]></category>

		<category><![CDATA[SharePoint]]></category>

		<category><![CDATA[Field]]></category>

		<category><![CDATA[Schema]]></category>

		<guid isPermaLink="false">http://www.bullit-bytes.de/blog/2010/12/felder-in-inhaltstypen-nutzen/</guid>
		<description><![CDATA[Bereitstellen von Feldern:

Felder können Global in der Site- oder WebCollection bereitgestellt werden
Felder können auch nur für ein ListTemplate im List Schema bereitgestellt werden

Bereitstellen von Inhaltstypen:

können Global in der Site- oder WebCollection bereitgestellt werden
können auch nur für ein ListTemplate im List Schema bereitgestellt werden

In der (globalen) Inhaltstypdefinition kann auf Felder verwiesen werden welche nur im ListTemplate [...]]]></description>
			<content:encoded><![CDATA[<p><u>Bereitstellen von Feldern:</u></p>
<ul>
<li>Felder können Global in der Site- oder WebCollection bereitgestellt werden</li>
<li>Felder können auch nur für ein ListTemplate im List Schema bereitgestellt werden</li>
</ul>
<p><u>Bereitstellen von Inhaltstypen:</u></p>
<ul>
<li>können Global in der Site- oder WebCollection bereitgestellt werden</li>
<li>können auch nur für ein ListTemplate im List Schema bereitgestellt werden</li>
</ul>
<p>In der (globalen) Inhaltstypdefinition kann auf Felder verwiesen werden welche nur im ListTemplate vorhanden sind, also müssen diese nicht zwingend global definiert sein. Dann sollte der Inhaltstyp aber der Gruppen “_Hidden” hinzugefügt werden, da diese Felder im Websiteinhaltstyp nicht angezeigt werden! Listen welche auf Basis der Vorlage erstellt werden enthalten alle im Inhaltstyp definierten Felder da diese im Schema vorhanden sind.</p>
<p>Für <strong>Dependent Lookup Fields</strong> und <strong>Computed Fields</strong> ist diese Nutzung sehr gut geeignet da diese auch kein Platz im SQL Server belegen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bullit-bytes.de/blog/2010/12/felder-in-inhaltstypen-nutzen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CSS Rule dynamisch hinzuf&#252;gen</title>
		<link>http://www.bullit-bytes.de/blog/2010/12/css-rule-dynamisch-hinzufgen/</link>
		<comments>http://www.bullit-bytes.de/blog/2010/12/css-rule-dynamisch-hinzufgen/#comments</comments>
		<pubDate>Tue, 14 Dec 2010 17:25:00 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
		
		<category><![CDATA[Asp.Net]]></category>

		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.bullit-bytes.de/blog/2010/12/css-rule-dynamisch-hinzufgen/</guid>
		<description><![CDATA[private class MyStyle : Style
{
    protected override void FillStyleAttributes(CssStyleCollection attributes, IUrlResolutionService urlResolver)
    {
        base.FillStyleAttributes(attributes, urlResolver);
        attributes[HtmlTextWriterStyle.TextAlign] = &#34;right&#34;;
        attributes[HtmlTextWriterStyle.PaddingRight] = &#34;10px&#34;;
    }
}

this.Page.Header.StyleSheet.CreateStyleRule(new MyStyle(),
   [...]]]></description>
			<content:encoded><![CDATA[<pre class="brush: csharp; ruler: true; auto-links: false;">private class MyStyle : Style
{
    protected override void FillStyleAttributes(CssStyleCollection attributes, IUrlResolutionService urlResolver)
    {
        base.FillStyleAttributes(attributes, urlResolver);
        attributes[HtmlTextWriterStyle.TextAlign] = &quot;right&quot;;
        attributes[HtmlTextWriterStyle.PaddingRight] = &quot;10px&quot;;
    }
}

this.Page.Header.StyleSheet.CreateStyleRule(new MyStyle(),
                                            this.Page,
                                            &quot;.myRule&quot;);

// Erstellt folgende CSS Rule
// .myRule { text-align:right; padding-right:10px;}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.bullit-bytes.de/blog/2010/12/css-rule-dynamisch-hinzufgen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SharePoint DelegateControl selbst bereitstellen</title>
		<link>http://www.bullit-bytes.de/blog/2010/12/sharepoint-delegatecontrol-selbst-bereitstellen/</link>
		<comments>http://www.bullit-bytes.de/blog/2010/12/sharepoint-delegatecontrol-selbst-bereitstellen/#comments</comments>
		<pubDate>Fri, 10 Dec 2010 09:03:00 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
		
		<category><![CDATA[SharePoint]]></category>

		<category><![CDATA[DelegateControl]]></category>

		<category><![CDATA[FormComponent]]></category>

		<category><![CDATA[Schema]]></category>

		<category><![CDATA[SharePoint 2010]]></category>

		<guid isPermaLink="false">http://www.bullit-bytes.de/blog/2010/12/sharepoint-delegatecontrol-selbst-bereitstellen/</guid>
		<description><![CDATA[Das SharePoint:DelegateCotnrol kann in allen Asp.Net Objekten (ServerControl, UserControl, Page) eingebunden werden. Somit ist es auch möglich in einer FormComponent einen Platzhalter für Erweiterungen über das DelegateControl zu ermöglichen.
&#60;SharePoint:RenderingTemplate ID=&#34;SPTest1&#34; runat=&#34;server&#34;&#62;
    &#60;Template&#62;
        &#60;asp:Label runat=&#34;server&#34; ID=&#34;t1&#34; Text=&#34;SPTest1&#34; /&#62;&#60;br /&#62;
        [...]]]></description>
			<content:encoded><![CDATA[<p>Das SharePoint:DelegateCotnrol kann in allen Asp.Net Objekten (ServerControl, UserControl, Page) eingebunden werden. Somit ist es auch möglich in einer FormComponent einen Platzhalter für Erweiterungen über das DelegateControl zu ermöglichen.</p>
<pre class="brush: xml; ruler: true; auto-links: false;">&lt;SharePoint:RenderingTemplate ID=&quot;SPTest1&quot; runat=&quot;server&quot;&gt;
    &lt;Template&gt;
        &lt;asp:Label runat=&quot;server&quot; ID=&quot;t1&quot; Text=&quot;SPTest1&quot; /&gt;&lt;br /&gt;
        &lt;SharePoint:DelegateControl ControlId=&quot;MyTestDelegate&quot; runat=&quot;server&quot; AllowMultipleControls=&quot;true&quot; /&gt;
        &lt;SharePoint:FormComponent TemplateName=&quot;ListForm&quot; runat=&quot;server&quot; /&gt;
    &lt;/Template&gt;
&lt;/SharePoint:RenderingTemplate&gt;</pre>
<p><strong>Eigenes UserControl:</strong></p>
<pre class="brush: xml; ruler: true; auto-links: false;">&lt;Control Id=&quot;MyTestDelegate&quot;
         ControlSrc=&quot;~/_controltemplates/SPTest2Del.ascx&quot;
         Sequence=&quot;100&quot;&gt;
     &lt;Property Name=”MeineEigenschaft”&gt;Value&lt;/Property&gt;
     &lt;Property Name=”...”&gt;...&lt;/Property&gt;
&lt;/Control&gt;</pre>
<p><strong>Eigenes ServerControl:</strong></p>
<pre class="brush: xml; ruler: true; auto-links: false;">&lt;Control Id=&quot;MyTestDelegate&quot;
         ControlAssembly=&quot;$SharePoint.Project.AssemblyFullName$&quot;
         ControlClass=&quot;SPTestCustomFormPage.EcmaScriptDelegateControl&quot;
         Sequence=&quot;100&quot;/&gt;</pre>
<p><font color="#ff0000">Das ServerControl muss zusätlich zu den SafeControls hinzugefügt werden!</font></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bullit-bytes.de/blog/2010/12/sharepoint-delegatecontrol-selbst-bereitstellen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SearchServer 2010 Express &#8220;Access Denied&#8221;</title>
		<link>http://www.bullit-bytes.de/blog/2010/12/searchserver-2010-express-access-denied/</link>
		<comments>http://www.bullit-bytes.de/blog/2010/12/searchserver-2010-express-access-denied/#comments</comments>
		<pubDate>Thu, 09 Dec 2010 19:10:00 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
		
		<category><![CDATA[SharePoint]]></category>

		<category><![CDATA[Claim]]></category>

		<category><![CDATA[SearchServer]]></category>

		<guid isPermaLink="false">http://www.bullit-bytes.de/blog/2010/12/searchserver-2010-express-access-denied/</guid>
		<description><![CDATA[Sobald man im SearchServer 2010 Express eine WebAnwendung mit Forderungsbasierter Sicherheit (Claim based Security) hinzufügt ist die Verwaltungsseite zum Suchserver nicht mehr zugänglich “Access Denied”. 
Im Eventlog und im SharePoint Log sind keine Informationen vorhanden um den Fehler zu beheben aber es gibt ja noch google….
Folgenden Code für die Web-Anwendungen ausführen wo Claim-based-security aktiviert ist.
$wa [...]]]></description>
			<content:encoded><![CDATA[<p>Sobald man im SearchServer 2010 Express eine WebAnwendung mit Forderungsbasierter Sicherheit (Claim based Security) hinzufügt ist die Verwaltungsseite zum Suchserver nicht mehr zugänglich “Access Denied”. </p>
<p>Im Eventlog und im SharePoint Log sind keine Informationen vorhanden um den Fehler zu beheben aber es gibt ja noch google….</p>
<p>Folgenden Code für die Web-Anwendungen ausführen wo Claim-based-security aktiviert ist.</p>
<p>$wa = Get-SPWebApplication –Identity “<a href="http://weburl">http://weburl</a>”    <br />$user = &quot;domain\FarmAdmin&quot;    <br />$policy = $wa.Policies.Add($user,$user)    <br />$ploicy.PolicyRoleBinding.Add($wa.PolicyRoles.GetSpecialRole(&quot;FullControl&quot;))</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bullit-bytes.de/blog/2010/12/searchserver-2010-express-access-denied/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ID im Display und Edit Form anzeigen</title>
		<link>http://www.bullit-bytes.de/blog/2010/11/id-im-display-und-edit-form-anzeigen/</link>
		<comments>http://www.bullit-bytes.de/blog/2010/11/id-im-display-und-edit-form-anzeigen/#comments</comments>
		<pubDate>Thu, 25 Nov 2010 09:46:00 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
		
		<category><![CDATA[Customization]]></category>

		<category><![CDATA[SharePoint]]></category>

		<category><![CDATA[Field]]></category>

		<category><![CDATA[SharePoint 2010]]></category>

		<guid isPermaLink="false">http://www.bullit-bytes.de/blog/2010/11/id-im-display-und-edit-form-anzeigen/</guid>
		<description><![CDATA[&#160;
Field Definition:


&#60;Field ID=&#34;{f1be43e9-418d-41b2-982e-8894e7ee6e13}&#34;
       Type=&#34;Computed&#34;
       Name=&#34;TaskID&#34;
       StaticName=&#34;TaskID&#34;
       DisplayName=&#34;Task ID&#34;
       Group=&#34;_Hidden&#34;
       SourceID=&#34;http://schemas.microsoft.com/sharepoint/v3&#34;&#62;
  &#60;FieldRefs&#62;
    &#60;FieldRef Name=&#34;ID&#34; /&#62;
  [...]]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>
<p>Field Definition:</p>
<pre class="brush: xml; ruler: true; auto-links: false;">

&lt;Field ID=&quot;{f1be43e9-418d-41b2-982e-8894e7ee6e13}&quot;
       Type=&quot;Computed&quot;
       Name=&quot;TaskID&quot;
       StaticName=&quot;TaskID&quot;
       DisplayName=&quot;Task ID&quot;
       Group=&quot;_Hidden&quot;
       SourceID=&quot;http://schemas.microsoft.com/sharepoint/v3&quot;&gt;
  &lt;FieldRefs&gt;
    &lt;FieldRef Name=&quot;ID&quot; /&gt;
  &lt;/FieldRefs&gt;
  &lt;DisplayPattern&gt;
    &lt;Column Name=&quot;ID&quot; /&gt;
  &lt;/DisplayPattern&gt;
&lt;/Field&gt;
</pre>
<p>&#160;</p>
<p>ContentType Definition:</p>
<pre class="brush: xml; ruler: true; auto-links: false;">&lt;FieldRef ID=&quot;{f1be43e9-418d-41b2-982e-8894e7ee6e13}&quot; Name=&quot;TaskID&quot; ShowInDisplayForm=&quot;TRUE&quot; ShowInEditForm=&quot;TRUE&quot; ShowInNewForm=&quot;FALSE&quot;/&gt;</pre>
<p>&#160;</p>
<p>Es ist auch möglich über das UI eine berechnete Spalte zu erzeugen und dort als Formel =[ID] einzutragen. </p>
<p>Der Typ <strong>Computed</strong> hat aber den Vorteil das dieser keine Spalte im SQL Server benötigt im Gegensatz zu <strong>Calculated</strong> (SqlVariant)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bullit-bytes.de/blog/2010/11/id-im-display-und-edit-form-anzeigen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Interna von SP.UI.Dialog</title>
		<link>http://www.bullit-bytes.de/blog/2010/11/interna-von-spuidialog/</link>
		<comments>http://www.bullit-bytes.de/blog/2010/11/interna-von-spuidialog/#comments</comments>
		<pubDate>Wed, 10 Nov 2010 10:38:00 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
		
		<category><![CDATA[SharePoint]]></category>

		<category><![CDATA[ClientOM]]></category>

		<category><![CDATA[SharePoint 2010]]></category>

		<guid isPermaLink="false">http://www.bullit-bytes.de/blog/2010/11/interna-von-spuidialog/</guid>
		<description><![CDATA[Optionen
folgenden Optionen werden zum anzeigen vom SP.UI.ModalDialog.showModalDialog unterstützt:

width: 100px (null) 
height: 100px (null) 
autosize: true&#124;false (null=true) 
dialogReturnValueCallback: callback Methode 
url: &#60;url&#62; 
html: htmlNode 
x: 10px (null) 
y: 10px (null) 
title: Text 
allowMaximize: true&#124;false (null=true) 
showMaximized: true&#124;false (null=false) 
showClose: true&#124;false (null=true) 

wird width und height nicht gesetzt sollte autosize nicht auf false gesetzt werden. 
Sollte im [...]]]></description>
			<content:encoded><![CDATA[<h5>Optionen</h5>
<p>folgenden Optionen werden zum anzeigen vom SP.UI.ModalDialog.showModalDialog unterstützt:</p>
<ul>
<li><strong>width</strong>: 100px (null) </li>
<li><strong>height</strong>: 100px (null) </li>
<li><strong>autosize</strong>: true|false (null=true) </li>
<li><strong>dialogReturnValueCallback</strong>: callback Methode </li>
<li><strong>url</strong>: &lt;url&gt; </li>
<li><strong>html</strong>: htmlNode </li>
<li><strong>x</strong>: 10px (null) </li>
<li><strong>y</strong>: 10px (null) </li>
<li><strong>title</strong>: Text </li>
<li><strong>allowMaximize</strong>: true|false (null=true) </li>
<li><strong>showMaximized</strong>: true|false (null=false) </li>
<li><strong>showClose</strong>: true|false (null=true) </li>
</ul>
<p>wird <strong>width</strong> und <strong>height</strong> nicht gesetzt sollte <strong>autosize</strong> nicht auf false gesetzt werden. </p>
<p>Sollte im Dialog ein Html Element statt eine Url angezeigt werden kann diese Html Element in der Seite als nicht sichtbar gesetzt werden (übergeordnetes Element) und dann über element.cloneNode(true) in der <strong>options</strong> Property <strong>html</strong> gesetzt werden. Sollte man kein Clone des Nodes durchführen wird der Dialog beim schließen, diesen Node löschen. Diesen Node kann aber in eine Variable gespeichert werden so das dieser erhalten bleibt.</p>
<h5>Dialog nach einen PostBack schließen</h5>
<p>Sobald die benötigte Funktionalität auf der Serverseite ausgeführt wurde kann der Dialog wie folgt geschlossen werden:</p>
<form id="aspnetForm" method="post" name="aspnetForm" action="http://www.chakkaradeep.com/post/Using-the-SharePoint-2010-Modal-Dialog.aspx">
<div class="text">
<pre class="brush: csharp; ruler: true; auto-links: false;">this.Page.Response.Clear();
this.Page.Response.Write(&quot;&lt;script type=\&quot;text/javascript\&quot;&gt;window.frameElement.commonModalDialogClose(1, 1);&lt;/script&gt;&quot;);
this.Page.Response.End();</pre>
</p></div>
</form>
<p>Parameter1 (SP.UI.DialogResult): –1 = invalid, 0 = cancel, 1 = OK<br />
  <br />Parameter2: Result Value</p>
<p>Weitere <strong>windows.frameElement</strong> Methoden:</p>
<ul>
<li><strong>cancelPopup() </strong></li>
<li><strong>commitPopup(ReturnValue)</strong> </li>
<li><strong>overrideDialogResult(DialogResult)</strong> </li>
<li><strong>navigateParent(url) </strong></li>
<li><strong>commonModalDialogClose(DialogResult, ReturnValue) </strong></li>
<li><strong>dialogArgs(args) </strong></li>
<li><strong>autoSize(arg)</strong> </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bullit-bytes.de/blog/2010/11/interna-von-spuidialog/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ribbon GroupTemplates (CMDUI.XML)</title>
		<link>http://www.bullit-bytes.de/blog/2010/11/ribbon-grouptemplates-cmduixml/</link>
		<comments>http://www.bullit-bytes.de/blog/2010/11/ribbon-grouptemplates-cmduixml/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 11:54:00 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
		
		<category><![CDATA[SharePoint]]></category>

		<category><![CDATA[Ribbon]]></category>

		<guid isPermaLink="false">http://www.bullit-bytes.de/blog/2010/11/ribbon-grouptemplates-cmduixml/</guid>
		<description><![CDATA[


TemplateName




Title
Type
Template                     Alias
DisplayMode






Ribbon.Templates.Flexible




Large
OneRow
o1
Large


Medium
ThreeRow
o1
Medium


MediumTwoRows
TwoRow
o1
Medium


Small
ThreeRow
o1
Small


Popup
&#160;
&#160;
Large







Ribbon.Templates.Flexible2





LargeLarge
OneRow
o1
Large


&#160;
OneRow
o2
Large


LargeMedium
OneRow
o1
Large


&#160;
ThreeRow
o2
Medium


LargeSmall
OneRow
o1
Large


&#160;
TreeRow
o2
Small


MediumLarge
ThreeRow
o1
Medium


&#160;
OneRow
o2
Large


MediumMedium
ThreeRow
o1
Medium


&#160;
ThreeRow
o2
Medium


MediumSmall
ThreeRow
o1
Medium


&#160;
ThreeRow
o2
Small


SmallLarge
ThreeRow
o1
Small


&#160;
OneRow
o2
Large


SmallMedium
ThreeRow
o1
Small


&#160;
ThreeRow
o2
Medium


SmallMedium
ThreeRow
o1
Small


&#160;
ThreeRow
o2
Medium


SmallSmall
ThreeRow
o1
Small


&#160;
ThreeRow
o2
Small


Popup
&#160;
&#160;
LargeMedium












&#160;
Diese Templates sind vom Type “OverflowSection” und ermöglichen damit eine Dynamische Anzahl von Steuerelementen.&#160; 

Small = Icon (16&#215;16) ohne Label Text 
Medium = Icon (16&#215;16) mit Label Text 
Large = Icon (32&#215;32) mit Label [...]]]></description>
			<content:encoded><![CDATA[<table border="1" cellspacing="0" cellpadding="2" width="581">
<tbody>
<tr>
<td valign="top" width="179"><font size="2" face="Calibri">TemplateName</font></td>
<td valign="top" width="400">
<table border="1" cellspacing="0" cellpadding="2" width="385">
<tbody>
<tr>
<td valign="top" width="152"><strong><font size="2" face="Calibri">Title</font></strong></td>
<td valign="top" width="81"><strong><font size="2" face="Calibri">Type</font></strong></td>
<td valign="top" width="59"><strong><font size="2" face="Calibri">Template                     <br />Alias</font></strong></td>
<td valign="top" width="91"><strong><font size="2" face="Calibri">DisplayMode</font></strong></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td valign="top" width="179">Ribbon.Templates.Flexible</td>
<td valign="top" width="400">
<table border="1" cellspacing="0" cellpadding="2" width="387">
<tbody>
<tr>
<td valign="top" width="98"><font size="2" face="Calibri">Large</font></td>
<td valign="top" width="63"><font size="2" face="Calibri">OneRow</font></td>
<td valign="top" width="103"><font size="2" face="Calibri">o1</font></td>
<td valign="top" width="121"><font size="2" face="Calibri">Large</font></td>
</tr>
<tr>
<td valign="top" width="98"><font size="2" face="Calibri">Medium</font></td>
<td valign="top" width="63"><font size="2" face="Calibri">ThreeRow</font></td>
<td valign="top" width="103"><font size="2" face="Calibri">o1</font></td>
<td valign="top" width="121"><font size="2" face="Calibri">Medium</font></td>
</tr>
<tr>
<td valign="top" width="98"><font size="2" face="Calibri">MediumTwoRows</font></td>
<td valign="top" width="63"><font size="2" face="Calibri">TwoRow</font></td>
<td valign="top" width="103"><font size="2" face="Calibri">o1</font></td>
<td valign="top" width="121"><font size="2" face="Calibri">Medium</font></td>
</tr>
<tr>
<td valign="top" width="98"><font size="2" face="Calibri">Small</font></td>
<td valign="top" width="63"><font size="2" face="Calibri">ThreeRow</font></td>
<td valign="top" width="103"><font size="2" face="Calibri">o1</font></td>
<td valign="top" width="121"><font size="2" face="Calibri">Small</font></td>
</tr>
<tr>
<td valign="top" width="98"><font size="2" face="Calibri">Popup</font></td>
<td valign="top" width="63"><font size="2" face="Calibri">&#160;</font></td>
<td valign="top" width="103"><font size="2" face="Calibri">&#160;</font></td>
<td valign="top" width="121"><font size="2" face="Calibri">Large</font></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td valign="top" width="179">
<p>Ribbon.Templates.Flexible2</p>
</td>
<td valign="top" width="400">
<table border="1" cellspacing="0" cellpadding="2" width="387">
<tbody>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">LargeLarge</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">OneRow</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">o1</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">Large</font></td>
</tr>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">&#160;</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">OneRow</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">o2</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">Large</font></td>
</tr>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">LargeMedium</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">OneRow</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">o1</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">Large</font></td>
</tr>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">&#160;</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">ThreeRow</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">o2</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">Medium</font></td>
</tr>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">LargeSmall</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">OneRow</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">o1</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">Large</font></td>
</tr>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">&#160;</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">TreeRow</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">o2</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">Small</font></td>
</tr>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">MediumLarge</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">ThreeRow</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">o1</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">Medium</font></td>
</tr>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">&#160;</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">OneRow</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">o2</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">Large</font></td>
</tr>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">MediumMedium</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">ThreeRow</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">o1</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">Medium</font></td>
</tr>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">&#160;</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">ThreeRow</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">o2</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">Medium</font></td>
</tr>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">MediumSmall</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">ThreeRow</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">o1</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">Medium</font></td>
</tr>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">&#160;</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">ThreeRow</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">o2</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">Small</font></td>
</tr>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">SmallLarge</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">ThreeRow</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">o1</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">Small</font></td>
</tr>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">&#160;</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">OneRow</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">o2</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">Large</font></td>
</tr>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">SmallMedium</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">ThreeRow</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">o1</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">Small</font></td>
</tr>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">&#160;</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">ThreeRow</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">o2</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">Medium</font></td>
</tr>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">SmallMedium</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">ThreeRow</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">o1</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">Small</font></td>
</tr>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">&#160;</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">ThreeRow</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">o2</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">Medium</font></td>
</tr>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">SmallSmall</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">ThreeRow</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">o1</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">Small</font></td>
</tr>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">&#160;</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">ThreeRow</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">o2</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">Small</font></td>
</tr>
<tr>
<td valign="top" width="100"><font size="2" face="Calibri">Popup</font></td>
<td valign="top" width="70"><font size="2" face="Calibri">&#160;</font></td>
<td valign="top" width="108"><font size="2" face="Calibri">&#160;</font></td>
<td valign="top" width="107"><font size="2" face="Calibri">LargeMedium</font></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<table border="1" cellspacing="0" cellpadding="2" width="684">
<tbody>
<tr></tr>
</tbody>
</table>
<p>&#160;</p>
<p>Diese Templates sind vom Type “OverflowSection” und ermöglichen damit eine Dynamische Anzahl von Steuerelementen.&#160; </p>
<ul>
<li>Small = Icon (16&#215;16) ohne Label Text </li>
<li>Medium = Icon (16&#215;16) mit Label Text </li>
<li>Large = Icon (32&#215;32) mit Label Text (unterhalb) </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bullit-bytes.de/blog/2010/11/ribbon-grouptemplates-cmduixml/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CustomForm in UserDisp.aspx</title>
		<link>http://www.bullit-bytes.de/blog/2010/11/customform-in-userdisp-aspx-2/</link>
		<comments>http://www.bullit-bytes.de/blog/2010/11/customform-in-userdisp-aspx-2/#comments</comments>
		<pubDate>Fri, 05 Nov 2010 10:52:00 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
		
		<category><![CDATA[Customization]]></category>

		<category><![CDATA[Deployment]]></category>

		<category><![CDATA[SharePoint]]></category>

		<category><![CDATA[Customizing]]></category>

		<category><![CDATA[SharePoint 2010]]></category>

		<category><![CDATA[UserDisp.aspx]]></category>

		<guid isPermaLink="false">http://www.bullit-bytes.de/blog/2010/11/customform-in-userdisp-aspx-2/</guid>
		<description><![CDATA[Die UserDisp.aspx Page enthält ein DelegateControl mit der ID = “ProfileRedirection”. Der SharePoint Server nutzt diese Möglichkeit um die Benutzerinformationen aus der MySite darzustellen.
Meine Frage war nun wie kann ich auf der Seite einfach nur die Toolbar austauschen um so mein Button hinzuzufügen ohne eine neue Page bereitzustellen? 
Eine Lösung ist eine eigenes Form (Kopie [...]]]></description>
			<content:encoded><![CDATA[<p>Die <strong>UserDisp.aspx</strong> Page enthält ein <strong>DelegateControl</strong> mit der ID = “<strong>ProfileRedirection</strong>”. Der SharePoint Server nutzt diese Möglichkeit um die Benutzerinformationen aus der MySite darzustellen.</p>
<p>Meine Frage war nun wie kann ich auf der Seite einfach nur die Toolbar austauschen um so mein Button hinzuzufügen ohne eine neue Page bereitzustellen? </p>
<p>Eine Lösung ist eine eigenes Form (Kopie von&#160; “<strong>UserListForm</strong>”) wo dann das “<strong>UserInfoListFormToolBar</strong>” ausgetauscht wird, da dieses nicht über TemplateName übersteuert werden kann. Alternativ kann auch ein Redirect auf eine eigene Page durchgeführt werden wo bei dann auch nur eine Kopie der UserDisp.aspx und UserListForm angelegt wird.</p>
<p><span style="color: blue">&lt;</span><span style="color: maroon">SharePoint</span><span style="color: blue">:</span><span style="color: maroon">UserInfoListFormToolBar</span>&#160;<span style="color: red">runat</span><span style="color: blue">=</span><span style="color: blue">&quot;server&quot;</span>&#160;<span style="color: blue">/&gt;</span></p>
<p><strong>Ersetzen durch:</strong></p>
<pre><span style="color: blue">&lt;</span><span style="color: maroon">SharePoint</span><span style="color: blue">:</span><span style="color: maroon">FormComponent</span>&#160;<span style="color: red">runat</span><span style="color: blue">=</span><span style="color: blue">&quot;server&quot;</span>&#160;<span style="color: red">TemplateName</span><span style="color: blue">=</span><span style="color: blue">&quot;MyUserInfoListDisplayFormToolBar&quot;</span>&#160;<span style="color: blue">/&gt;</span></pre>
<pre class="brush: csharp; ruler: true; auto-links: false;">&lt;SharePoint:RenderingTemplate id=&quot;MyUserInfoListDisplayFormToolBar&quot; runat=&quot;server&quot;&gt;
   &lt;Template&gt;
     &lt;script type=&quot;text/javascript&quot;&gt;
       recycleBinEnabled = &lt;SharePoint:ProjectProperty Property=&quot;RecycleBinEnabled&quot; runat=&quot;server&quot;/&gt;;
     &lt;/script&gt;
     &lt;wssuc:ToolBar CssClass=&quot;ms-toolbar&quot; id=&quot;toolBarTbl&quot; runat=&quot;server&quot; FocusOnToolbar=true&gt;
     &lt;Template_Buttons&gt;
         &lt;SharePoint:UserInfoListEditItemButton runat=&quot;server&quot;/&gt;
         &lt;SharePoint:UserInfoListDeleteItemButton runat=&quot;server&quot;/&gt;
     &lt;/Template_Buttons&gt;
    &lt;/wssuc:ToolBar&gt;
  &lt;/Template&gt;
&lt;/SharePoint:RenderingTemplate&gt;</pre>
<p>Implementierung des UserControls um das Form auszutauschen:</p>
<p><strong><u>CodeBehind:</u></strong></p>
<pre class="brush: csharp; ruler: true; auto-links: false;">public partial class UserProfModify : UserControl, IFormDelegateControlSource
{
    private static readonly Guid featureId = new Guid(&quot;0e2c460d-c1e1-4539-a88c-75db03816881&quot;);
    private static bool IsMyUserSettingsEnabled(SPSite site)
    {
        return site.Features[featureId] != null;
    }

    #region IFormDelegateControlSource Member

    public void OnFormInit(object objOfInterest)
    {
        SPListItem listItem = objOfInterest as SPListItem;
        if (listItem != null)
        {
            // Prüfen ob es sich um eine Person handelt.
            SPContentTypeId id = (SPContentTypeId)listItem[&quot;ContentTypeId&quot;];
            if (SPBuiltInContentTypeId.Person.IsParentOf(id))
            {
                // Prüfen ob für diese SiteCollection das angepasste Form erwünscht ist.
                if (UserProfModify.IsMyUserSettingsEnabled(listItem.Web.Site))
                {
                    // ctl00, PlaceHolderMain, UserListForm
                    Control t = Page.Controls[0].FindControl(&quot;PlaceHolderMain&quot;);
                    if (t != null)
                    {
                        FormComponent userForm = t.FindControl(&quot;UserListForm&quot;) as FormComponent;
                        if (userForm != null)
                        {
                            userForm.TemplateName = &quot;MyUserListForm&quot;;
                        }
                    }
                }
            }
        }
    }

    public void OnFormSave(object objOfInterest)
    {
    }

    #endregion
} </pre>
<p><strong><u>UserControl (ascx)</u></strong></p>
<pre style="font-family: consolas"><span style="background: yellow">&lt;%</span><span style="color: blue">@</span>&#160;<span style="color: maroon">Control</span>&#160;<span style="color: red">Language</span><span style="color: blue">=</span><span style="color: blue">&quot;C#&quot;</span>&#160;<span style="color: red">AutoEventWireup</span><span style="color: blue">=</span><span style="color: blue">&quot;false&quot;</span>&#160;<span style="color: red">CodeBehind</span><span style="color: blue">=</span><span style="color: blue">&quot;UserProfModify.ascx.cs&quot;</span>&#160;&#160;&#160; <span style="color: red">Inherits</span><span style="color: blue">=</span><span style="color: blue">&quot;TestUserPage.WebControls.UserProfModify, $SharePoint.Project.AssemblyFullName$&quot;</span>&#160;<span style="background: yellow">%&gt;</span></pre>
<p><strong><u>Feature:</u></strong></p>
<pre style="font-family: consolas"><span style="color: blue">&lt;?</span><span style="color: #a31515">xml</span><span style="color: blue">&#160;</span><span style="color: red">version</span><span style="color: blue">=</span>&quot;<span style="color: blue">1.0</span>&quot;<span style="color: blue">&#160;</span><span style="color: red">encoding</span><span style="color: blue">=</span>&quot;<span style="color: blue">utf-8</span>&quot;<span style="color: blue">?&gt;</span><span style="color: blue">&lt;</span><span style="color: #a31515">Elements</span><span style="color: blue">&#160;</span><span style="color: red">xmlns</span><span style="color: blue">=</span>&quot;<span style="color: blue">http://schemas.microsoft.com/sharepoint/</span>&quot;<span style="color: blue">&gt;</span><span style="color: blue">&#160; &lt;</span><span style="color: #a31515">Control</span><span style="color: blue">&#160;</span><span style="color: red">Id</span><span style="color: blue">=</span>&quot;<span style="color: blue">ProfileRedirection</span>&quot;<span style="color: blue">&#160;</span><span style="color: red">Sequence</span><span style="color: blue">=</span>&quot;<span style="color: blue">95</span>&quot;<span style="color: blue">&#160;</span><span style="color: red">ControlSrc</span><span style="color: blue">=</span>&quot;<span style="color: blue">~/_controltemplates/UserProfModify.ascx</span>&quot;<span style="color: blue"> /&gt;</span><span style="color: blue">&lt;/</span><span style="color: #a31515">Elements</span><span style="color: blue">&gt;</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.bullit-bytes.de/blog/2010/11/customform-in-userdisp-aspx-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SharePoint und .Net 3.5</title>
		<link>http://www.bullit-bytes.de/blog/2009/02/sharepoint-und-net-35/</link>
		<comments>http://www.bullit-bytes.de/blog/2009/02/sharepoint-und-net-35/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 19:24:28 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
		
		<category><![CDATA[SharePoint]]></category>

		<category><![CDATA[Silverlight]]></category>

		<category><![CDATA[WCF]]></category>

		<category><![CDATA[WSS]]></category>

		<guid isPermaLink="false">http://www.bullit-bytes.de/blog/?p=26</guid>
		<description><![CDATA[da ich keine funktionsfähige Implementierung (Package) für das .Net 3.5 Framework gefunden habe habe ich mal selbst ein Package erstellt was auch zu 100% funktioniert.
Die die ich im Web gefunden habe, haben alle das Problem mit der Reihenfolge in der Web.config gehabt.


    &#60;httpHandlers&#62;
      &#60;remove verb=&#34;GET,HEAD,POST&#34; path=&#34;*&#34; /&#62;
 [...]]]></description>
			<content:encoded><![CDATA[<p>da ich keine funktionsfähige Implementierung (Package) für das .Net 3.5 Framework gefunden habe habe ich mal selbst ein Package erstellt was auch zu 100% funktioniert.</p>
<p>Die die ich im Web gefunden habe, haben alle das Problem mit der Reihenfolge in der Web.config gehabt.</p>
<div id="scid:68201B37-469D-44cf-A828-6A9CCE6D69A1:82ef77f2-63a5-4df0-ae26-765db6d6d352" class="wlWriterSmartContent" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<pre style="padding:0px 0px 0px 0px;background-image:none;border:none;">
<pre class="brush: xml">    &lt;httpHandlers&gt;
      &lt;remove verb=&quot;GET,HEAD,POST&quot; path=&quot;*&quot; /&gt;
      &lt;add verb=&quot;GET,HEAD,POST&quot; path=&quot;*&quot; type=&quot;Microsoft.SharePoint.ApplicationRuntime.SPHttpHandler, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&quot; /&gt;
      &lt;add verb=&quot;OPTIONS,PROPFIND,PUT,LOCK,UNLOCK,MOVE,COPY,GETLIB,PROPPATCH,MKCOL,DELETE,(GETSOURCE),(HEADSOURCE),(POSTSOURCE)&quot; path=&quot;*&quot; type=&quot;Microsoft.SharePoint.ApplicationRuntime.SPHttpHandler, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&quot; /&gt;
      &lt;add verb=&quot;*&quot; path=&quot;*.asmx&quot; validate=&quot;false&quot; type=&quot;System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&quot; /&gt;
      &lt;add verb=&quot;*&quot; path=&quot;*_AppService.axd&quot; validate=&quot;false&quot; type=&quot;System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&quot; /&gt;
      &lt;add verb=&quot;GET,HEAD&quot; path=&quot;ScriptResource.axd&quot; type=&quot;System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&quot; validate=&quot;false&quot; /&gt;
      &lt;remove verb=&quot;*&quot; path=&quot;*.asmx&quot; /&gt;
    &lt;/httpHandlers&gt;
</pre>
</pre>
</div>
<p>Das Problem ist das die Änderungen in der DB gespeichert werden und nach Namen alphabetisch sortiert in die Web.config geschrieben werden.</p>
<p>Im Web habe ich eine Lösung gefunden die mich auf die richtig Spur geführt hat:</p>
<div id="scid:68201B37-469D-44cf-A828-6A9CCE6D69A1:a28d785d-c96d-4b0b-9019-83c9fc9c4c15" class="wlWriterSmartContent" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<pre style="padding:0px 0px 0px 0px;background-image:none;border:none;">
<pre class="brush: c#">    mod.AddChildNodeModification(
        &quot;handlers[1=1]/remove[@name=&#039;WebServiceHandlerFactory-Integrated&#039;]&quot;,
        &quot;configuration/system.webServer/handlers&quot;,
        @&quot;&lt;remove name=&quot;&quot;WebServiceHandlerFactory-Integrated&quot;&quot; /&gt;&quot;
        );</pre>
</pre>
</div>
<p>Dabei war das Problem das, wenn man die Anwendung in der Zentraladministration zurück gezogen hat, die Unterknoten unter &lt;httpHandlers&gt; nicht entfernt wurden! Das Problem ist darauf zurückzuführen das er den Namen im angegebenen Path in nicht findet.</p>
<p>Der Name Parameter in <strong>SPWebConfigModification</strong> ist ein XPath Ausdruck welcher von angegebenen Path aus sucht und somit vom Parent aus suchen muss.</p>
<p>So funktioniert es besser:</p>
<div id="scid:68201B37-469D-44cf-A828-6A9CCE6D69A1:52bc1155-885f-4e5d-8372-45a0d927cb6b" class="wlWriterSmartContent" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<pre style="padding:0px 0px 0px 0px;background-image:none;border:none;">
<pre class="brush: c#">    mod.AddChildNodeModification(
        &quot;../handlers[1=1]/remove[@name=&#039;WebServiceHandlerFactory-Integrated&#039;]&quot;,
        &quot;configuration/system.webServer/handlers&quot;,
        @&quot;&lt;remove name=&quot;&quot;WebServiceHandlerFactory-Integrated&quot;&quot; /&gt;&quot;
        );</pre>
</pre>
</div>
<p>Das Package enthält 3 Features:</p>
<ul>
<li>.Net 3.5 Basis</li>
<li>WCF Support (Handler für *.svc&#8221;)</li>
<li>Silverlight 2 Support</li>
</ul>
<p><a href="http://bullit-bytes.de/blog/wp-content/uploads/bitDev.Net_3.5_Support.wsp">Download wsp</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bullit-bytes.de/blog/2009/02/sharepoint-und-net-35/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

