SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Lange Ladezeiten für Infopath Formular

Unbeantwortet Dieser Beitrag hat 11 Antworten

Ohne Rang
7 Beiträge
Joerg Nbg erstellt 13 Jan. 2011 10:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich baue derzeit eine elektronischen Workflow mit Nintex und Infopath. Die erfassten Werte im Infopath Formular werden in einer Sharepointliste gespeichert. Bei Anlage eines neuen Antrags über Infopath wird ein Workflow angestossen, der verschiedene Stellen zur Prüfung und Genehmigung durchläuft. So weit so gut. Was mich allerdings stört ist, dass der Aufruf speziell des Infopath Formulars teilweise ziemlich lange dauert, besonders wenn es der User das erste Mal am Tag aufruft. Dann dauert es oft 15-30 Sekunden bevor überhaupt mal das Dialogfenster von Infopath Formservices kommt "Formular wird geladen", dann lädt das Formular auch noch mal ein paar Sekunden. Hier hängen zwar ein paar Webservices dahinter, die Werte aus einer Datenbank auslesen, was einige Sekunden dauern kann. Aber die langen Ladezeiten am Anfang bevor Infopath sich überhaupt mal meldet sind ungewöhnlich und für den User unzumutbar. Ich habe zwar für die Sharepoint Websites sogenannte Warmup Scripte eingestellt, die soweit auch funktionieren. Aber auf die Infopath Formulare scheinen sie keine Auswirkung zu haben. Gibt es Möglichkeiten dies zu beschleunigen. Woran kann es liegen, dass das so lange dauert?

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 Jan. 2011 10:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das hat letztlich denselben Grund, wie der warum SharePoint beim ersten Mal so lange braucht: auch der Forms Server muß zuerst kompiliert werden.

Kannst Du nicht irgendeinen Formularaufruf in Dein Warmup-Skript mit einbeziehen?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
7 Beiträge
Joerg Nbg Als Antwort am 13 Jan. 2011 11:38
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Aber wie kann ich das einstellen? Das SPWakeup kann man als fertige ddf Datei direkt deployen. Dann werden die Websitecollection, die Websites und Unterverzeichnisse automatisch ermittelt. Manuell daran ändern kann man nichts. Da die Formslibrary doch nur ein Unterverzeichnis im Sharepoint ist müsste die doch nomalerweise automatisch mit einbezogen werden oder? Kann man da manuell noch irgendwo nachträglich was konfigurieren? Wenn ja, wo? Und welcher Pfad muß dort eingegeben werden? Der von den Form templates in der Zentraladministration?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 Jan. 2011 11:56
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich habe natürlich keine Ahnung, was Ihr zum Wakeup einsetzt. Im Netz kursieren da sehr viele Lösungen und normalerweise ruden die jede Website(sammlung) einmal auf. Der Forms Server wird dabei nicht berücksichtigt.

Um den Forms Server wirklich aufzuwecken, muß man mindestens ein Formular aufrufen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
7 Beiträge
Joerg Nbg Als Antwort am 13 Jan. 2011 12:04
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wir benutzen dies hier http://spwakeup.codeplex.com/. Wüsste allerdings nicht wie ich da den Formserver mit reinbekomme, da das Script die Seiten der Websitecollection automatisch ermittelt. Eine zusätzliche Eingabe für den Pfad des Forms Servers gibt es da nirgendwo

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 Jan. 2011 12:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das Teil ruft nur Websites auf, die im Objektmodell als SPWeb repräsentiert werden. Man kann da nicht einfach eine zusätzliche URL angeben.

Das könnte man aber mit einem kurzen Batchfile oder einem PowerShell-Skript erledigen...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
7 Beiträge
Joerg Nbg Als Antwort am 13 Jan. 2011 13:10
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hast Du zufällig in der Richtung etwas parat? Ein Beispiel, das ich entsprechend anpassen könnte? Das wäre toll.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 Jan. 2011 13:26
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Erstes Ergebnis von Google:
http://kirkhofer.wordpress.com/2008/10/18/sharepoint-warm-up-script/

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
7 Beiträge
Joerg Nbg Als Antwort am 13 Jan. 2011 15:00
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke, aber damit komm ich trotzdem nicht klar. Powershell habe ich bisher noch nie mit gearbeitet. Muß man an diesem Script noch irgendwas ändern? Wo und wie muß man es laufen lassen? Gibt es für das Ganze auch mal eine Art Anleitung für jemanden der noch nicht ganz so tief drin steckt?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 Jan. 2011 15:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Im Grunde muß man nur das Skript mit einem Texteditor (z.B. Notepad) als *.ps1 speichern und kann es dann per Doppelklick oder auch Windows Task Scheduler aufrufen.

Du brauchst eigentlich nur diesen Teil:
$wc = new-object net.webclient
$cred = System.Net.CredentialCache]::DefaultCredentials;
$wc.credentials = $cred;
$wc.DownloadString("http://deineDomain/site/usw");

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
7 Beiträge
Joerg Nbg Als Antwort am 14 Jan. 2011 09:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Noch eine Frage zur praktischen Ausführung. ps1 ist ja zunächst mal ein unbekanntes Dateiformat, wo ein Start per Doppelklick nicht möglich ist. Womit soll die Datei gestartet werden? Geht es auch als .bat oder .cmd Datei? Der Wert in der Klammer hinter DownloadString reicht hier die Url der Websitecollection oder muß dort die des Forms Servers eingegeben werden? Werden dann auch automatisch die Unterverzeichnisse aktiviert oder nur die hart codierte Seite? Kann man das Ganze auch als Timerjob einstellen?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 14 Jan. 2011 10:25
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das sind aber viele Fragen :-)

[quote user="Joerg Nbg"]ps1 ist ja zunächst mal ein unbekanntes Dateiformat, wo ein Start per Doppelklick nicht möglich ist. Womit soll die Datei gestartet werden?[/quote]

Das ist ein PowerShell-Skript. Dazu muß Powershell installiert sein, was beim Server 2008 AFAIK Standard ist.

[quote user="Joerg Nbg"]Geht es auch als .bat oder .cmd Datei?[/quote]

Nicht mit diesem Code. Aber Du kannst ja mal googeln, ob Du da was findest. Zumindest mit einem vbs-Skript sollte es auch gehen.

[quote user="Joerg Nbg"]Der Wert in der Klammer hinter DownloadString reicht hier die Url der Websitecollection oder muß dort die des Forms Servers eingegeben werden? Werden dann auch automatisch die Unterverzeichnisse aktiviert oder nur die hart codierte Seite?[/quote]

Das geht nur auf die eine angegebene Adresse und Du mußt die gesamte Adresse eines Formulars angeben. Also nicht nur eine Website.

[quote user="Joerg Nbg"]Kann man das Ganze auch als Timerjob einstellen?[/quote]

Man kann das über den Task Scheduler von Windows zeitgesteuert laufen lassen.

Viele Grüße
Andi
af @ evocom de
Blog