問題
- Liferay Portal 6.1では、portal-ext.propertiesを使用してカレンダー通知を無効にすることができました
- Liferay DXP 7.0+では、これらのプロパティは存在しなくなりました
環境
- Liferay DXP 7.0+
解決
注意: この解決策にはカスタマイズが必要であり、お客様による実装が必要となります。 Liferayサポートは、カスタマイズの設計または実装を支援できません。
- 最良のオプションはCalendarBookingLocalServiceのラッパーを作成することです
- ラッパーは、カレンダーイベントを追加および更新するメソッドを呼び出す直前、およびカレンダーイベントステータスを更新するメソッドを呼び出す前に、オブジェクトserviceContextのsendNotification属性にfalseを設定する必要があります
- この解決策は、ユーザーがアクティブに設定するリマインダー通知を除くすべてのカレンダー通知を処理します
- カレンダー通知を無効にするメソッド呼び出しの前に追加されるコード:
1serviceContext.setAttribute("sendNotification", Boolean.FALSE);
- CalendarBookingWrapperに追加する必要があるメソッドのリスト:
- また、コードをaddChildCalendarBookingsからラッパーにコピーし、sendNotificationメソッドを呼び出す直前にsendNotificationパラメーターをfalseに設定する必要があります。この行を削除する必要があります
追加情報
- Liferayサービスのラッパーを作成する方法については、次の記事を参照してください: How to create a service wrapper in Liferay 7.0
- この機能を追加するために、機能リクエスト LPS-96398 が作成されています