Archiv

Archiv für Dezember, 2010

Felder in Inhaltstypen nutzen

20. Dezember 2010

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 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.

Für Dependent Lookup Fields und Computed Fields ist diese Nutzung sehr gut geeignet da diese auch kein Platz im SQL Server belegen.

Thomas Deployment, SharePoint , ,

CSS Rule dynamisch hinzufügen

14. Dezember 2010
private class MyStyle : Style
{
    protected override void FillStyleAttributes(CssStyleCollection attributes, IUrlResolutionService urlResolver)
    {
        base.FillStyleAttributes(attributes, urlResolver);
        attributes[HtmlTextWriterStyle.TextAlign] = "right";
        attributes[HtmlTextWriterStyle.PaddingRight] = "10px";
    }
}

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

// Erstellt folgende CSS Rule
// .myRule { text-align:right; padding-right:10px;}

Thomas Asp.Net ,

SharePoint DelegateControl selbst bereitstellen

10. Dezember 2010

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.

<SharePoint:RenderingTemplate ID="SPTest1" runat="server">
    <Template>
        <asp:Label runat="server" ID="t1" Text="SPTest1" /><br />
        <SharePoint:DelegateControl ControlId="MyTestDelegate" runat="server" AllowMultipleControls="true" />
        <SharePoint:FormComponent TemplateName="ListForm" runat="server" />
    </Template>
</SharePoint:RenderingTemplate>

Eigenes UserControl:

<Control Id="MyTestDelegate"
         ControlSrc="~/_controltemplates/SPTest2Del.ascx"
         Sequence="100">
     <Property Name=”MeineEigenschaft”>Value</Property>
     <Property Name=”...”>...</Property>
</Control>

Eigenes ServerControl:

<Control Id="MyTestDelegate"
         ControlAssembly="$SharePoint.Project.AssemblyFullName$"
         ControlClass="SPTestCustomFormPage.EcmaScriptDelegateControl"
         Sequence="100"/>

Das ServerControl muss zusätlich zu den SafeControls hinzugefügt werden!

Thomas SharePoint , , , ,

SearchServer 2010 Express “Access Denied”

9. Dezember 2010

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 = Get-SPWebApplication –Identity “http://weburl
$user = "domain\FarmAdmin"
$policy = $wa.Policies.Add($user,$user)
$ploicy.PolicyRoleBinding.Add($wa.PolicyRoles.GetSpecialRole("FullControl"))

Thomas SharePoint ,