I've only one page called "EventListener" with this code : {{groovy}} import org.xwiki.observation.* import org.xwiki.observation.event.* import com.xpn.xwiki.web.* import com.xpn.xwiki.* class LoggingEventListener implements EventListener{ def xwiki def context LoggingEventListener(xwiki, context) { this.xwiki = xwiki this.context = context } String getName() { // The unique name of this event listener return "logging" } List<Event> getEvents() { // The list of events this listener listens to return Arrays.asList(new DocumentSaveEvent()) } // Called by the Observation Manager when an event matches the list of events returned // by getEvents() void onEvent(Event event, Object source, Object data) { // Prevent infinite recursion since in this example we log to wiki page which // triggers a document change... :) if (source.fullName != "Main.Logger") { def sender = context.user.substring(6) def emailcc = xwiki.null def emailbcc = xwiki.null def pageattachments = [] def emailcontent = "ceci est un test du mail" def result = xwiki.mailsender.sendHtmlMessage("${sender}", " [email protected]", emailcc, emailbcc, "Test du mail", emailcontent, document.getContent(), pageattachments) def document = xwiki.getDocument("Main.Logger") document.setContent("ça marche Sender : ${sender} / Content : ${emailcontent}") document.save("Logging event", true) } }} // Register against the Observation Manager def observation = Utils.getComponent(ObservationManager.class) observation.removeListener("logging") def listener = new LoggingEventListener(xwiki, xcontext) observation.addListener(listener) {{/groovy}} Have I forgotten something ? Thanks, Stéphanie 2012/5/29 Vincent Massol <[email protected]>
On May 29, 2012, at 1:22 PM, Stéphanie wrote:
I'm really sorry, I don't understand all this kind of specific words ^^ Do you want the entire code ? Or what do you want exactly ?
Sorry I meant Observation Manager, not Component Manager. See http://platform.xwiki.org/xwiki/bin/view/DevGuide/GroovyNotificationTutorial
Thanks -Vincent
In any case, thanks for your answer, Stéphanie
2012/5/29 vmassol [via XWiki] <[email protected]>
On May 29, 2012, at 1:07 PM, Stéphanie Roulland wrote:
Hello,
Thank you for your answer, but I'm sorry, I don't understand what you mean by CM.
Component Manager.
-Vincent
Thanks, Stéphanie
2012/5/29 Vincent Massol <[hidden email]<
http://user/SendEmail.jtp?type=node&node=7579201&i=0>>
FYI I've just done this in a training I gave last week and it worked nicely.
Can you show us the code you've used to register the event listener against the CM?
Thanks -Vincent
On May 29, 2012, at 9:12 AM, Stéphanie wrote:
Hello everyone,
I'm trying to send an automatic email and this is the idea I have
had.
I used the "Groovy Notification Tutorial" (
http://platform.xwiki.org/xwiki/bin/view/DevGuide/GroovyNotificationTutorial
)
and instead of writing in a file, I try to send an email.
This is my code (I only copy the method onEvent, I didn't change the rest) :
void onEvent(Event event, Object source, Object data) { // Prevent infinite recursion since in this example we log to wiki page which // triggers a document change... :) if (source.fullName != "Main.Logger") { def sender = context.user.substring(6) def emailcc = xwiki.null def emailbcc = xwiki.null def pageattachments = [] def emailcontent = "Test" def result = xwiki.mailsender.sendHtmlMessage("${sender}", "[hidden email] < http://user/SendEmail.jtp?type=node&node=7579201&i=1>", emailcc, emailbcc, "Test du mail", emailcontent, document.getContent(), pageattachments) def document = xwiki.getDocument("Main.Logger") document.setContent("Sender : ${sender} / Content : ${emailcontent}") document.save("Logging event", true) } }
But when I try this, nothing happened. I don't have any error message so I don't know if I make something wrong.
Do you have an idea of how doing this ?
Thank you very much for your future answer, Stéphanie
users mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/users
-- Stéphanie ROULLAND 06.74.85.37.90 ------------------------- Contrat de professionnalisation DCNS Ingénieur domaine collaboratif 02.29.05.42.23 ------------------------- Elève ingénieur ENIB 3ème année cycle ingénieur Option informatique