Verknüpfung zu einem Dokument mit C#

Um in einer Dokumentenbibliothek ein Item vom Typ “Verknüpfung zu einem Dokument” zu erstellen bindet man den entsprechenden Inhaltstyp ein und wählt diesen dann als Typ für das neue Dokument aus:

Neues Dokument

Verknüpfung zu einem Dokument

danach wird eine aspx-Seite generiert:

aspx-Seite

Die generierte aspx-Seite schaut bis auf die Weiterleitung immer gleich aus:

<%@ Assembly Name=’Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c’ %>                 <%@ Register TagPrefix=’SharePoint’ Namespace=’Microsoft.SharePoint.WebControls’ Assembly=’Microsoft.SharePoint’ %>                 <%@ Import Namespace=’System.IO’ %>                 <%@ Import Namespace=’Microsoft.SharePoint’ %>                 <%@ Import Namespace=’Microsoft.SharePoint.Utilities’ %>                 <%@ Import Namespace=’Microsoft.SharePoint.WebControls’ %>                 <html xmlns:mso=”urn:schemas-microsoft-com:office:office” xmlns:msdt=”uuid:C2F41010-65B3-11d1-A29F-00AA00C14882″>                 <head> <meta name=’progid’ content=’SharePoint.Link’ /> <!–[if gte mso 9]><SharePoint:CTFieldRefs runat=server Prefix=”mso:” FieldList=”FileLeafRef,URL”><xml> <mso:CustomDocumentProperties> <mso:ContentTypeId msdt:dt=”string”>0x01010A00D042FE898DD0E44AA4B47EA393D7711E</mso:ContentTypeId> <mso:IconOverlay msdt:dt=”string”>|de|linkoverlay.gif</mso:IconOverlay> <mso:URL msdt:dt=”string”>http://gruber-t.de, http://gruber-t.de</mso:URL> </mso:CustomDocumentProperties> </xml></SharePoint:CTFieldRefs><![endif]–> </head>                 <body>                 <form id=’Form1′ runat=’server’>                 <SharePoint:UrlRedirector id=’Redirector1′ runat=’server’ />                 </form>                 </body>                 </html>

Dieses Verhalten sollte man auch im Hinterkopf behalten, will man das ganze programmatisch erstellen, hier wie es prinzipiell aussehen könnte:

SPContentType CT = list.ContentTypes["Verknüpfung zu einem Dokument"];

string aspxSeite = … //hier muss die oben genannte aspx-Seite zusammengebaut werden

SPFile file = list.rootFolder.Files.Add(“LinkZumDokument” + “.aspx”, UTF8Encoding.UTF8.GetBytes(aspxSeite));

SPListItem item = file.Item;

item["ContentTypeId"] = CT.Id;

item.Update();

SPFieldUrlValue fieldUrl = new SPFieldUrlValue() {     Description = documentName, Url = documentUrl };

item["URL"] = fieldUrl;

item.Update();

Veröffentlicht unter C#, SharePoint | Verschlagwortet mit , , , | Hinterlasse einen Kommentar

SharePoint “Flat-View” mit der PowerShell

Die “Flat-Ansicht” lässt sich auch recht einfach mit der PowerShell konfigurieren:

$View.Scope = “Recursive”
$View.update()

Veröffentlicht unter PowerShell, SharePoint | Verschlagwortet mit , , | Hinterlasse einen Kommentar

Warnsignale in SharePoint Projekten

Über Twitter bin ich auf einen klasse Artikel unter der Überschrift “10 Warning Signs that Your SharePoint Implementation may be Heading for Difficulty” gestoßen.

Hier werden 10 Anzeichen aufgelistet, die darauf hindeuten, dass es in Zukunft Schwierigkeiten mit der SharePoint-Umgebung geben könnte.

Veröffentlicht unter SharePoint, Twitter | Verschlagwortet mit , | Hinterlasse einen Kommentar

Best practices for using fine-grained permissions

Diese Woche wieder gebraucht: die “Best practices for using fine-grained permissions”.

Wer sich näher mit granularen Berechtigungen im SharePoint auseinandersetzt findet hier super Erklärungen und Ansätze: Link

Veröffentlicht unter SharePoint | Verschlagwortet mit , , , | Hinterlasse einen Kommentar

Neuer Blog neues Glück

Mit diesem Blog löse ich meine alte Joomla!-Homepage ab.

Veröffentlicht unter Allgemein | Hinterlasse einen Kommentar