InfoPath 2007 + Forms-Server: Sommerzeit-Umstellung 
Mittwoch, März 28, 2007, 09:51 AM
Aus aktuellem Anlass weihe ich mein neues Blog ein, denn nachdem ich nun 2 Tage damit verbracht habe, herauszufinden, warum InfoPath Formulare nicht mehr richtig upgeloaded werden können, ist das Problem sicher eine Meldung wert.

Sommerzeitumstellung



InfoPath Formulare können seit dem 25.03.2007 nicht mehr hochgeladen werden, bzw. es dauert 1-2 Stunden, bis ein Formular vom Zustand Upgrading in den Zustand Ready übergeht.

Ursache:
Durch die Änderung amerikanischen Winder- Sommerzeitumstellung kommt es zu Verzögerungen von SharePoint Timer Jobs, die einmalig starten sollen.

Lösung:
Eine richtige Lösung gibt es scheinbar im Moment nicht, da Microsoft dies als Bug erkannt hat, aber keinen Patch dafür bereitstellt. Alle Patches, die in dem Zusammenhang bereitgestellt werden, beheben das Problem nicht! Jedenfalls nicht unter MOSS 2007 und WSSv3...

Workaround:
Das Einzige, was auf unserem System (alles US-Versionen) geholfen hat, war eine Umstellung der Zeitzone auf:
GMT-01:00 Cap Verde Is.
da es dort keine Sommerzeit-Umstellung gibt, und die Zeit jetzt nur 3 Stunden zurückliegt.
Danach wartet man am besten eine Nacht, damit alle Jobs einmal gelaufen sind und das System sich auf die neue Zeitzone eingependelt hat. Wenn man zu früh weiterarbeitet, kann es Probleme geben.

Infos:
http://support.microsoft.com/kb/932563/en-us

  |  Permalink   |  Related Link

SharePoint 2007 - Custom Templates (.stp-Files) als SiteCollection anlegen 
Donnerstag, Februar 8, 2007, 02:23 PM
Wenn man eine Site als .stp Datei gespeichert hat, kann man sie leider nur in der jeweils aktuellen
SiteCollection als Vorlage verwenden. Nachdem man die Datei manuell in den Site Template Ordner
einer anderen Site-Collection gespeichert hat, ist das Template zwar auch dort einsetzbar, aber möchte
man eine Site-Collection (z.B. Automatisch per Code) mit diesem Template als Startseite anlegen,
gibt es scheinbar keine Möglichkeit dies zu tun.

Im Netz habe ich dann dann doch eine Lösung dafür gefunden.
stsadm ermöglicht über den Befehl "addtemplate" die globale Bereitstellung des .stp-Files als Template:

stsadm -o addtemplate
-filename template.stp
-title "My New Template"
-description "My Template Description"


Das kann man offenbar schon seit der 2003er Version so machen.

Quelle:
http://weblogs.asp.net/erobillard/archi ... 34060.aspx
http://msdn2.microsoft.com/en-us/library/ms916803.aspx
  |  Permalink   |  Related Link

MOSS/InfoPath 2007 - Browser Forms debuggen 
Montag, Januar 8, 2007, 12:37 PM
InfoPath Formulare mit VSTA Code können zwar in der Preview einfach debugged werden, allerdings lassen sich Formulare, die unter dem FormsServer im Browser laufen, nicht so leicht analysieren.
Alternativ zur englischen Anleitung auf msdn, hier eine deutsche Version mit Bildern:


1. Das Formular in InfoPath in der Design-Ansicht öffnen und in die VSTA Code-Ansicht wechseln.

2. Im Menü unter
Tools -> Options ->Projects and Solutions -> General
den Haken bei "Show advanced build configurations" setzen.




3. Dann im Menü unter
Build -> Configuration Manager
in der Spalte "Configuration" auf "Debug" umstellen.




4. Abspeichern und Kompilieren.
Im Ordner "bin\debug" des VSTA Projekts sollten jetzt die DLLs und eine .pdb-Datei liegen.

5. Das Formular wie gewohnt publishen und uploaden.
Wenn man die entstandene .xsn-Datei in .cab umbenennt, kann man mit dem Explorer deren Inhalt sehen. Darin sollte sich jetzt ebenfalls eine .pdb-Datei befinden.

6. InfoPath schließen

7. Die Solution des Projektes im normalen Visual Studio (auf der selben Maschine) öffnen

8. An die gewünschte Stellen einen Breakpoint setzen.




9. Im Menü unter
Debug -> Attach to process
die Prozessliste anzeigen und an den w3wp.exe Prozess hängen.
Den CodeType sollte man zuvor auf "Managed" stellen:




Da man oft mehrere w3wp-Prozesse laufen hat und nicht so leicht feststellen kann, welcher für die jeweilige Site der richtige ist, kann man sich an beide Prozesse hängen.

Hinweis:
Sollten keine w3wp Prozesse zu sehen sein, muss zunächst die zuständige SharePoint Library aufgerufen werden, die später das Formular startet. Dadurch wird auch der Prozess wieder gestartet.


10. Das Formular in SharePoint aufrufen - der Breakpoint sollte jetzt bei Erreichen die Ausführung anhalten.


Nicht vergessen, nach erfolgreichem Testen die Konfiguration wieder auf Release umzustellen.


Quelle:
http://blogs.msdn.com/infopath/archive/ ... forms.aspx


  |  Permalink   |  Related Link

MOSS 2007 - Site Templates kopieren 
Montag, Dezember 11, 2006, 01:11 PM
Speichert man eine Site als Template, landet dieses in der Site Template Gallery auf der Top level Site. Dieses Template können innerhalb dieser SiteColelction als Vorlage bei der Neuerstellung von Sites verwendet werden.
Ein Problem ergibt sich, wenn man eine neue SiteCollection programmatisch erstellt, denn dafür kann kein .stp-Template verwendet werden, so dass die Templates nach der Anlage auch nicht in der Site Template Gallery verfügbar sind.
Nach der programmatischen Anlage der SiteCollection können jedoch .stp-Dateien aus einer anderen SiteCollection ebenfalls automatisch hinüber kopiert werden. Das ist zwar recht einfach, jedoch dauert es eine Weile, bis man den richtigen Code gefunden hat.
Das Hinzufügen einer neuen Datei kann nämlich nicht über das SPListItem Objekt erfolgen, sondern nur über SPFileCollection:

Folgender Code kopiert alle SiteTemplates aus einer SiteCollection in eine andere:

// __ Target: __
SPSite targetSite = new SPSite("http://dev.company.de:8080/sites/SiteCollectionName/");
SPWeb targetWeb = targetSite.OpenWeb();
SPFolder targetFolder = targetWeb.Folders["_catalogs"].SubFolders["wt"];
SPFileCollection targetFileCollection = targetFolder.Files;

// __ Source: __
SPSite sourceSite = new SPSite("http://dev.company.de:8090/sites/OtherSiteCollection/");
SPWeb sourceWeb = sourceSite.OpenWeb();
SPFolder sourceFolder = sourceWeb.Folders["_catalogs"].SubFolders["wt"];
SPFileCollection sourceFiles = sourceFolder.Files;

foreach (SPFile sourceFile in sourceFiles) {
txt_Debug.Text += "Copying: " + sourceFile.Name + "\r\n";
byte[] sourceFileBin = sourceFile.OpenBinary();
targetFileCollection.Add(sourceFile.Name, sourceFileBin);
}

sourceWeb.Dispose();
sourceSite.Dispose();

targetWeb.Dispose();
targetSite.Dispose();



Der Trick ist den richtigen Folder über
targetWeb.Folders["_catalogs"].SubFolders["wt"]
zu finden. Dies entspricht übrigens der virtuellen Pfadangabe in der Addresszeile des Browsers.

  |  Permalink   |  Related Link

Windows SharePoint Services 3.0 – Visual Studio Templates 
Freitag, November 10, 2006, 10:05 AM
Endlich gibt es neue Visual Studio 2005 Templates zur WebPart-Erstellung!

Mit den neuen Templates können auch vorkonfigurierte SharePoint Services 3.0 Seiten erstellt werden, aber für die Arbeit mit Office Sharepoint Server 2007 ist das automatische Deployment von WebParts der wichtigste Aspekt.




In den Configuration Properties des WebParts kann man die Ziel-SiteCollection des SharePoint Servers angeben:




so dass bei Drücken der Taste F5, automatisch das WebPart:

- kompiliert wird
- in den Global Assembly Cache aufgenonnen wird
-und In die WebPart Gallery der angegeben SiteCollection aufgenommen wird


Durch verwendung des GAC wird leider jedes Mal ein iisreset durchgeführt, und jedes zukünftige Deployment dauert etwas länger als die manuelle Variante, bei der man das WebPart im Bin-Verzeichnis installiert.

Nachtrag:
Die Installation im GAC hat sich als unpraktisch erwiesen. Wir deployen unsere WebParts nur noch in den BIN-Ordner WebApplication.


Download unter:
http://www.microsoft.com/downloads/deta ... laylang=en

Quelle:
http://blogs.gotdotnet.com/alexma/archi ... r-wss.aspx


  |  Permalink   |  Related Link


Zurück Weiter