Wie kann ich programmgesteuert hinzufügen einer Artikel-Seite auf einer sharepoint-Website?
Ich habe die Aufgabe, die migration von Inhalten aus einem anderen CMS-system auf SharePoint 2010.
Die Daten von der alten system ist ziemlich einfach zu erfassen und die Seite, die Hierarchie ist einfach so ich bin nicht besorgt darüber.
Aber ich bin völlig flummoxed darüber, wie Sie selbst eine Seite erstellen, im code. Ich bin mit der Microsoft.SharePoint.Client
namespace, wie ich nicht sharepoint installiert ist auf meinem system, und bin zu wollen, um code dies als eine Konsole-Anwendung, und ich bin mit ich bin mit ClientContext
. (Auf der anderen Seite, ich bin bereit zu gehen, in andere Lösungen, wenn nötig).
Meine end-Spiel: Um eine Seite hochgeladen in einem Ordner-Hierarchie, die verwendet eine master-Seite hat den Titel der Seite in einem header-Teil, und eine große ol' content-editable web-Teil in den Körper ein, so kann jeder Benutzer kommen zusammen und Bearbeiten die Inhalte.
Dinge, die ich habe versucht, so weit:
- Mit FileCollection.Add () - hinzufügen einer aspx-Datei in den Ordner "Website-Seiten". Dieser rendert die html im browser aber nicht aktivieren Sie alle Funktionen für den Benutzer, um die Seite zu Bearbeiten
- Mit ListItemCollection.Add() hinzufügen, um eine Seite der Website, aber ich wusste nicht, was Felder, die ich brauchte. Auch ich erinnere mich, es kam mit einem runtime error zu sagen, die ich verwenden sollte FileCollection.Add()
- Hochladen auf 'Seiten' statt 'Seiten'
- So viele andere... ow meinem Kopf 🙁
Die einzige plausible, was ich sehen kann, auf dem Netz ist die Nutzung der PublishingPage
geben zusammen mit PublishingWeb
. Allerdings PublishingWeb kann nur aufgebaut sein aus einem SPWeb-Objekt, das verlangt, dass ich tatsächlich hosting der sharepoint-Anwendung auf meinem Arbeitsplatz.
Wenn jeder kann hand anlegen, das würde sehr geschätzt 🙂
- gehört auf sharepoint überlauf ^^
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich nicht sehen, eine Möglichkeit zu schaffen, eine Seite veröffentlichen, ohne die eigentliche publishing-Methoden.
Wenn du einen neuen Beitrag erstellen Seite es wird nur ein paar xml-Parameter innerhalb der Seite, das layout selbst Leben in die /_catalogs/masterpage/Artikel-XXXX.aspx-Datei.
Können Sie versuchen, den Download einer nativen Datei erstellt, in der Dokumentbibliothek Seiten, zu verstehen, seine Struktur, füllen Sie die XML-Daten mit Ihren Daten aus, und dann einen Upload zurück an den Seiten-Dokument Bibliothek mithilfe der FileCollection-das ist meine einzige Vermutung.
Edit: Beispiel-Artikel Seite
Zu packen, Treffer der Bibliothek für Seiten => Content Menü => Senden An => Download einer Kopie
Hier ist eine Methode, die ich verwenden, um Seiten zu erstellen. Es scheint eine weitere unterstützte Art der Erstellung von Webseiten als Herr Aquino ist. Obwohl dies für MOSS 2007 ich bin mir sicher, dass das äquivalent existiert in 2010. Auch ich würde empfehlen, zu erstellen console-apps mit der vollen Objekt-Modell. Du musst ihn ausführen auf dem server selbst, aber das scheint nicht viel von einem problem für eine migration? Auf diese Weise werden Sie nicht in keiner Weise eingeschränkt werden.
Hochladen einer Seite die Datei sollte funktionieren, solange man die Einstellungen direkt auf das Element als auch das Dokument selbst. Nachdem Sie die Datei hochladen, Sie können die Art des Inhalts und die Eigenschaften entsprechend. Wenn Sie eine Seite erstellen, zuerst manuell, Sie sollten in der Lage, ein Objekt, das alle richtigen Einstellungen.
Allerdings würde ich dringend empfehlen, sich zu entwickeln, eine Konsole app, die ausgeführt wird, auf dem sharepoint-server anstatt auf dem web-services. Die server-Seite-apis (einschließlich PublishingPage) neigen dazu, viel einfacher, mit zu arbeiten.