« Top 10 Sharepoint Configuration Mistakes | Main| Team Foundation Server und Sharepoint »

Die ID im Subject - Sharepoint Alerts

10
Category    
hört sich nicht kompliziert an, wenn man im Netz schaut, gibt es z.B. den Vorschlag mittels <GetVar Name="ItemId" /> im Altert-Template diese anzuzeigen.
Hat zumindest bei mir nicht funktioniert.

Also eine kurze Anleitung wie einer meiner es gemacht hat....
ont size=2 face="sans-serif">a) Ich kopiere das TEMPLATE\XML\ALERTTEMPLATES.XML nach C:\ oder D:\ auf jeden Fall irgendwo in die Root von einem Volume
b) Mittels Notepad suche ich in meinem Falle nach immediate, ein wenig weiter unterhalb sollte etwas der folgenden Art zum Vorschein kommen:

     
     
      <GetVar Name="ItemName" />      
</Subject>

hier dieser Abschnitt wird zu:
<Subject>
      <GetVar Name="AlertTitle" />
      <HTML><!DATA[ - ></HTML>
      <GetVar Name="ItemName" />      
     <HTML><!DATA[ - ##ID##></HTML>
</Subject>

geändert.
c) mittels stsadm -o updatealerttemplates -url .... -filename C:\altertemplates.xml wende ich meine Änderungen an.
d) Erstellen in einer Liste (Basis GenericListTemplate) einen Alert und bekomme nun eine Mail, welche am Ende - ##ID## enthält.
e) Werfe mein Visual Studio an und erzeuge ein neues Class Library Projekt, in den Eigenschaften gebe ich an, dass ich mein Assembly signieren möchte.
f) In dem Projekt setze ich eine Referenz zur Microsoft.Sharepoint.dll
g) Erstelle eine Klasse, welche wie folgt aussieht ->
    public class MyAlertHandler : IAlertNotifyHandler
    {
        public bool OnNotification(SPAlertHandlerParams parameters)
        {
            string webUrl = parameters.siteUrl + parameters.webUrl;
            using (SPSite site = new SPSite(webUrl))
            using (SPWeb web = site.OpenWeb())
            {
                string to = parameters.headers/font>"To"
                string subjectTemplate = parameters.headers/font>"Subject"
                string itemId = parameters.eventDataitemId.ToString();
                // Ersetzen der ID im Subject und im Body
                string subject = Regex.Replace(subjectTemplate,"##ID##",itemId,RegexOptions.IgnoreCase);
                string body = Regex.Replace(parameters.body, "##ID##", itemId, RegexOptions.IgnoreCase);
                bool result = SPUtility.SendEmail(web,false,false,to,subject,body);
                return result;
            }
        }
    }
h) Kompilieren und auf dem Server in den GAC
i) Suche in der alerttemplates.xml nach <Properties>
und füge vor </Properties> ein:
            <NotificationHandlerAssembly>
                        PeanutsSoft.SP2010.AlertUtilities,
                        Version=1.0.0.0,
                        Culture=neutral,
                        PublicKeyToken=4273dd8dc86f2654
               </NotificationHandlerAssembly>
            <NotificationHandlerClassName>
                   PeanutsSoft.SP2010.AlertUtilities.MyAlertHandler
              </NotificationHandlerClassName>

j) Jetzt noch mal die c) und fertig.

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