SharePointCommunity
Die deutschsprachige Community für SharePoint, Office 365 und mit Azure

PnP Privisioning Engine to create Subsites

bewertet von 0 Usern
Nicht beantwortet Dieser Beitrag hat 0 Geprüfte Antworten | 6 Antworten | 1 Follower

Top-50-Beitragsschreiber
Weiblich
278 Beiträge
ExpoIT erstellt in 6 Jul 2017 16:20

Hallo, 

habe mich jetzt etwas mit Pnp auseinandergesetzt.

Tatsächlich eine tolle Funktionsmacht!

Jetzt brauche ich xml-Datei und pnp-datei und ich frage mich, wo ich diese herbekomme, bzw. erstelle?

Das hab ich dann doch noch nicht ganz verstanden.

Viele Grüße AS

Alle Antworten

Top-10-Beitragsschreiber
Männlich
18.229 Beiträge

Das Schema dieser Dateien ist ja beschrieben und man kann sie sogar relativ einfach von Hand erstellen. PnP hat aber auch Funktionen, mit denen man sich aus vielen Objekten wie Listen und auch Websites das XML erzeugen lassen kann.

Man nimmt also einfach eine vorhandene Website und läßt sich das XML geben. Mit dem kann man dann andere Websites erzeugen, die ein ziemlich genaues Update sind. Und das Beste daran: es ist updatefähig :-)

Viele Grüße
Andi
af @ evocom de
Blog
Top-50-Beitragsschreiber
Weiblich
278 Beiträge

Danke, Andi.

So ich bin schon etwas weiter. Arbeite das hier durch: https://channel9.msdn.com/blogs/OfficeDevPnP/Getting-Started-with-PnP-Provisioning-Engine

Hat alles auch soweit gut funktioniert, bis ich nach Hinzufügen ab ApplyProvisioningTemplate(....) beim Debuggen folgende Fehlermeldung bekomme:

The template must exist in the Forms directory of this document library. Create the template in the Forms directory, and then re-type the Web address. Note that you cannot move or copy a template into the Forms directory.

ausgelöst wird es wohl hiermit:  web.ApplyProvisioningTemplate(template, ptai);

Hab ich es da richtig verstanden: meiner Testsite bei der das Template angewendet werden soll fehlt etwas (Inhaltstyp)????

Ich habe meine Testsite einfach ganz schnell erstellt mit Teamsite-Vorlage.

Das Video will ich erst einmal fehlerfrei durchspielen und danach nach meiner Lösung umgestalten, damit ich die Vorgehensweise gut verstehe und nachvollziehen kann. Im Prinzip möchte ich ja keine Site vorher erstellen und danach mit PnP anpassen, sondern gleich mit Hilfe in PnP angegebener Vorlage erstellen.

Viele Grüße AS

Top-10-Beitragsschreiber
Männlich
18.229 Beiträge

Ich bin nicht ganz sicher, ob die Fehlermeldung direkt mit dem PnP-Provisioning zu tun hat. Hast Du es mal mit einem Template aus einer frisch erstellten Website versucht?

Viele Grüße
Andi
af @ evocom de
Blog
Top-50-Beitragsschreiber
Weiblich
278 Beiträge

Habe gerade ein frisches Templatesite erstellt und auch ein Testsite, welches das Template annehmen sollte. Ich habe beide Seiten mit dem gleichen Template erstellt und zusätzlich der Templatesite eine Bibliothek hinzugefügt, um später den Unterschied zu sehen.

Ich bekomme folgende Fehlermeldung: Ein Ausnahmefehler des Typs "System.Exception" ist in OfficeDevPnP.Core.dll aufgetreten.

Zusätzliche Informationen: The field was found invalid:  {{listid:Tasks} {fieldtitle:StartDate} {fieldtitle:Dauer}

Jetzt bin ich gerade etwas erschöpft, im Prinzip ist es ja eigentlich auch nicht das was PnP für mich machen soll.... Aber irgendwie will ich hier nicht abweichen und was neues beginnen....

Wie wird es denn später im Produktivsystem laufen? Wann startet dann eine Pnp? das hab ich noch nicht soo drauf

Gibt es Beispielseiten, wobei SP-App genutzt wird (kein Consoleapplication)?

Viele Grüße AS

Top-50-Beitragsschreiber
Weiblich
278 Beiträge

was ich gerade entdeckt habe: das erstellt Bibliothek taucht in der Testsite auf, allerdings wird es nicht auf die Homepage als WebPart hinzugefügt wie auf der Templatesite. Liegt hier der Fehler, irgendwo?

Viele Grüße AS

Top-10-Beitragsschreiber
Männlich
18.229 Beiträge

Das ist jedenfalls die normale Vorgehensweise wenn man PnP benutzt. Man hat eine Template-Site und wendet diese Vorlage dann auf andere Websites an.

Nimm doch mal das Webpart von der Startseite. Könnte sein, daß der Fehler daher kommt. Ich habe auch nicht alles im Kopf, meine mich aber zu erinnern, daß es mit dem Hinzufügen von Webparts zu Seiten Probleme geben kann. Manchmal hat man auch nur on-premise Probleme und bei SharePoint Online funktionier es (PnP verwendet dieselbe Codebasis mit Compiler-Switches).

Und wie Du den Code letztlich einsetzt, bleibt vollkommen Dir überlassen. Es gibt da viele Möglichkeiten. Ein Benutzer trägt etwas in eine Liste ein und ein Remote EventReceiver erzeugt dann eine neue Website. Oder der Listeneintrag triggert einen Genehmigungsworkflow und erst nach erfolgreicher Genehmigung wird die Site erstellt. Oder Benutzer mit bestimmten Rechten klicken einfach auf einen Button. Oder...

Viele Grüße
Andi
af @ evocom de
Blog
Seite 1 von 1 (7 Elemente) | RSS