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.




Benötige Hilfe mit WSPBuilder

Unbeantwortet Dieser Beitrag hat 8 Antworten

Ohne Rang
11 Beiträge
Dodo erstellt 28 Aug. 2009 09:32
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Guten Tag. Ich plane folgendes:

Ich habe eine einzige .cs mit 4 Klassen im Namespace. 2 dieser Klassen sind Event Handler, die bei einem ItemAdded triggern sollen, jedoch auf verschiedenen Seiten. Handler 1 auf Seite A, Handler B auf Seite 2. Ich habe bereits einiges zum Thema gelesen und bin jetzt mit meiner elements.xml datei beschäftigt.... sie sieht wie folgt aus:

<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Receivers ListTemplateId="100">
   
    <Receiver>
      <Name>EventHandlerCustomerList</Name>
      <Type>ItemAdded</Type>
      <SequenceNumber>10000</SequenceNumber>
      <Assembly>EventHandlersWSPBuilder, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1e87e49a8c393d8e</Assembly>
      <Class>EventHandlers.CustomerListEventHandler</Class>
      <Data></Data>
      <Filter></Filter>
    </Receiver>

    <Receiver>
      <Name>EventHandlerProjectList</Name>
      <Type>ItemAdded</Type>
      <SequenceNumber>10000</SequenceNumber>
      <Assembly>EventHandlersWSPBuilder, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1e87e49a8c393d8e</Assembly>
      <Class>EventHandlers.ProjectListEventHandler</Class>
      <Data></Data>
      <Filter></Filter>
    </Receiver>
   
  </Receivers>
</Elements> 

 

Nun bin ich aber leider auch mit meinem Latein (wieder einmal ._. ) am Ende ...

Funktioniert der Zugriff auf verschiedene Teile meines Namespaces wie ich das geplant habe mit

<

 

Class>EventHandlers.ProjectListEventHandler</Class> ?

Und viel wichtiger: Wie bekomme ich die 2 Handler auf verschiedene Seiten definiert/angewandt ? Atm habe ich ja nur eine Bindung durch das SiteTemplate, was bei beiden Zielseite gleich ist. Wie differenziere ich die Seiten und ordne dann die Handler passend zu?

Wenn mit mit diesem Thema jemand helfen könnte wäre mir sehr geholfen! Momentan scheiter mein Deploy des Quellcodes an dieser Zuordnung ...

Alle Antworten

Ohne Rang
929 Beiträge
Thomas Östreich Als Antwort am 28 Aug. 2009 10:11
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du benötigst unterschiedliche ListTemplateId's also Listen von unterschiedlichen Typen um dann einen Receiver an die eine Liste und den anderen an die andere Liste zu binden. Wieviel Klassen du in einer Datei hast ist uninteressant, es hat nur was mit Code Design zu tun.

Ohne Rang
11 Beiträge
Dodo Als Antwort am 28 Aug. 2009 10:15
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

ok also muss ich mir irgendwie neue templates für genau die 2 seiten überlegen die ich mit den eventhandlern verbinden will?

hat dazu zufällig jmd nen tutorial oderso? von eigenen templates hab ich mich bisher immer fern gehalten ..

Ohne Rang
929 Beiträge
Thomas Östreich Als Antwort am 28 Aug. 2009 10:56
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Suchdienst deiner Wahl: SharePoint MSDN List schema

Es ist nicht ganz so einfach, bis man es versteht!

Ohne Rang
11 Beiträge
Dodo Als Antwort am 31 Aug. 2009 09:06
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Nur ganz allgemein: Gibt es eine alternative Möglichkeit die Prozesse zu binden oder komme ich um das erstellen der spezifischen Templates nicht drum rum, wenn ich den WSPBuilder benutzen möchte?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 31 Aug. 2009 09:14
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du kannst das auch für eine einzelne Liste per Code machen:
SPList.EventReceivers.Add(...)

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
11 Beiträge
Dodo Als Antwort am 3 Sept. 2009 08:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Guten Morgen.

Ich habe nun 2 Templates und habe diese in meinem elements Bereich des Quellcodes definiert. Der Quelltext der Klasse ist auch soweit fertig. Jetzt weiß ich nur schon wieder nicht mehr, wie man das ganze mit dem WSPBuilder einbindet ... Es ist quasi alles bereit aber ich weiß nicht wie ich es an den Start bringe.

Macht der Builder alles automatisch wenn ich Deploy oder Upgrade klicke?

Das ist sicher eine dämliche Frage aber wäre hilfreich wenn jmd eine Art Step by Step Hilfe geben könnte, da mir mein Tutorial zum WSP Builder leider wenig weiter hilft was das Einbinden angeht : / ...

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 3 Sept. 2009 08:38
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das ist genau das, was ich an derartigen Tools immer wieder bemängele: sie nehmen dem Entwickler viel Arbeit ab, aber nachher weiß keiner, wie es wirklich geht und was dahintersteckt. Ich rate deshalb immer von der Benutzung dieser Tools ab; zumindest am Anfang bis man weiß, was man tut.

Sorry Dodo, das hilft Dir jetzt nicht weiter, aber vielleicht dient es dem einen oder anderen als Warnung. Ich weiß schlicht nicht wie der WSPBuilder funktioniert.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
11 Beiträge
Dodo Als Antwort am 3 Sept. 2009 08:42
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das trägt jetzt zwar auch nicht zum Thema bei, aber ich wollte loswerden, dass ich den WSPBuilder nur benutze, weil ich es muss ^^

Habe vorher meine Classes einfach manuell an bestimmte Events gebunden, aber "der Einfachheit halber" soll ich nun das WSPBuilder Tool verwenden, was die Sache für MICH nur komplizierter macht ._,

daher ist jede Hilfe nach wie vor willkommen =D