Email Notifications on Calendar Events in Alfresco

2020-03-06 04:08发布

I'm using Alfresco 4.0 I need to send email notification to selected members or all the members if a calendar event is created.

I'm a newbie.

Kindly help me, as I'm on a deadline.

标签: alfresco
3条回答
在下西门庆
2楼-- · 2020-03-06 04:38

You can set a simple rule on "Sites/yoursite/calendar" folder that executes a javascript script which sends the email.

If you need something more complicated then you can use alfresco's "onCreateNode" policy and bind it to "ia:calendarEvent" type.

From the top of my head something like this:

...

this.onCreateNode = new JavaBehaviour(this, "onCreateNode", NotificationFrequency.TRANSACTION_COMMIT);

this.policyComponent.bindClassBehaviour(QName.createQName(
    NamespaceService.ALFRESCO_URI, "onCreateNode"),
    "ia:calendarEvent", this.onCreateNode);

...
...
...

public void onCreateNode(ChildAssociationRef childAssocRef)
{
 //send email here
}
查看更多
倾城 Initia
3楼-- · 2020-03-06 04:43

Thanks for all the valuable answers, I was able to complete my work on time. However after some search I got a complete script with all steps. You can follow this link, please read the 6th post for the answer:

https://forums.alfresco.com/en/viewtopic.php?f=47&t=42366

查看更多
叼着烟拽天下
4楼-- · 2020-03-06 04:52

Should roughly go like this:

Create a spring mananged bean, inject policyComponent

<bean id="calendarType" class="your.CalendarType"
   init-method="init">
   <property name="policyComponent" ref="policyComponent" />
 </bean>

with methods:

public void init()
{
    policyComponent.bindClassBehaviour(NodeServicePolicies.OnCreateNodePolicy.QNAME, CalendarModel.TYPE_EVENT ,
            new JavaBehaviour(this, "onCreateNode"));

}

public void onCreateNode(ChildAssociationRef childAssocRef)
{
// do stuff here
}

Have a look at http://wiki.alfresco.com/wiki/Policy_Component for more details.

查看更多
登录 后发表回答