« Wie man sich selber eine Grube gräbt .... | Main| Wie man sich selber ein Grube gräbt (3) »

Wie man sich selbst eine Grube gräbt .... (2)

0
Category  

Tja, ich glaube diesmal liegt es nicht nur an mir

Eventhandler Sharepoint - Geht es einfacher  habe ich ja gezeigt, wie man einfach EventHandler binden kann, ohne dass man ständig einen IIS-Reset macht. Dies funktioniert auch wunderbar, List-Vorlagen und WebSite-Vorlagen nehmen die Definition einfach mit

Aber bei einem manuell Import mittels Sharepoint-Designer bzw. SPImport schlägt was fehl

Es liegt an dem gebunden Event "ItemFileConverted", laut Dokumentation kann man ihn an Listen und Dokument-Bibliotheken binden.
Macht man jedoch ein Backup und versucht dieses dann mit dem Sharepoint-Designer oder die erwähnte Klasse SPImport wieder herzustellen, kommt eine Fehlermeldung.
Diese meint, dass irgendwo in einer Enumeration "ItemFileConverted" nicht gefunden werden kann.

Ich konnte dieses Problem durch folgenden Event lösen, welchen ich an die OnImportStarted gebunden habe:
private static void OnImportStarted( object sender, SPDeploymentEventArgs e) {
  string s = System.IO. File .ReadAllText(e.TempDirectoryPath + "\\Manifest.xml" );
  MatchCollection
mc = Regex .Matches(s, "(<EventReceiver.*?ItemFileConverted.*?/>)" );
  StringCollection
sc = new StringCollection ();
  for ( int i = 0; i < mc.Count; i++) {
     s = s.Replace(mc[i].Groups[1].Value,
"" );
  }
  System.IO.
File .WriteAllText(e.TempDirectoryPath + "\\Manifest.xml" ,s);
}

Er wirft aus dem Manifest alle Zeilen, welche im EventReceiver den Type ItemFileConverted gebunden haben und schreibt es neu.

Gruß JJR 





Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

Amazon


Impressum

Firmenname: Peanuts-Soft
Straße Nummer: Biinger Strasse 8
PLZ Ort: 55263 Wackernheim
Telefon: +491772134526
E-Mail: joerg.reck @ peanuts-soft.de
Disclaimer: Peanuts-Soft übernimmt keine Garantie dafür, dass die auf dieser Website bereitgestellten Informationen vollständig, richtig und stets aktuell sind. Dies gilt auch für alle Links, auf die verwiesen wird. Peanuts-Soft ist für die Inhalte, auf die per Link verwiesen wird, nicht verantwortlich. Peanuts-Soft haftet nicht für konkrete, mittelbare und unmittelbare Schäden oder Schäden, die durch fehlende Nutzungsmöglichkeiten, Datenverluste oder entgangene Gewinne – sei es aufgrund der Nichteinhaltung vertraglicher Verpflichtungen, durch Fahrlässigkeit oder eine andere unerlaubte Handlung – im Zusammenhang mit der Nutzung von Dokumenten oder Informationen bzw. der Erbringung von Dienstleistungen entstehen, die auf dieser Web Site zugänglich sind.
Datenschutz: Inhalt und Gestaltung der Internetseiten sind urheberrechtlich geschützt. Eine Vervielfältigung der Seiten oder deren Inhalte bedarf der vorherigen schriftlichen Zustimmung von Peanuts-Soft.


Locations of visitors to this page

Powered By

Domino BlogSphere
Version 3.0.2