オープンソース OA 開発プラットフォームの最新チュートリアル: 新しいバージョンのメッセージ構成

o2oa/o2server は、バージョン 7.2.0 からメッセージとチャネルを構成できます

メッセージ (メッセージ) は、サーバーの操作中にさまざまなイベントによって生成されるさまざまなメッセージ コンテンツを指します. さまざまなイベントはさまざまなメッセージを生成します. 現在、52 種類のイベントとカスタム メッセージ タイプがサポートされています. メッセージ チャネルは、処理方法を指します.生成された情報。

以下では、メッセージ処理メカニズムを説明するための例として、to-do の作成を取り上げます。

タイプ(メッセージタイプ)

o2oa/o2server サーバーのメッセージ タイプは、組み込みコーディングによって実装されます。バージョン 7.2.0 は、次の 52 のイベント タイプとカスタム メッセージ タイプをサポートします。

  • application_create: アプリケーションを作成する
  • application_update: アプリケーションを更新します
  • application_delete: アプリケーションの削除
  • process_create: プロセスを作成します
  • process_update: 更新プロセス
  • process_delete: プロセスを削除
  • activity_message: メッセージ ノード経由で新しい作業があります
  • work_to_workCompleted: 完了した作業から完了した作業へ
  • work_create: ジョブを作成します
  • work_delete: 作品を削除
  • workCompleted_create: 完成した作品を作成する
  • workCompleted_delete: 完了した作業を削除
  • task_to_taskCompleted: to-do 完了転送完了
  • task_create: タスクを作成
  • task_delete: やることを削除
  • task_urge: to-do の有効期限が近づいています
  • task_expire: 期限切れ待ち
  • task_press: やることリマインダー
  • taskCompleted_create: 作成されました
  • taskCompleted_delete: 削除が完了しました
  • read_to_readCompleted: 読み取りから読み取り
  • read_create: 読み取って作成する
  • read_delete: 保留中の削除
  • readCompleted_create: 読み取りと作成
  • readCompleted_delete: 読み取りと削除
  • review_create: レビューを作成する
  • review_delete: レビューを削除
  • meeting_invite: ミーティングへの招待
  • meeting_delete: 会議の削除
  • meeting_accept: 会議への招待が承認されました
  • meeting_reject: 会議への招待が拒否されました
  • attachment_create: 添付ファイルを作成します
  • attachment_delete: 添付ファイルを削除
  • attachment_share: 添付ファイルの共有
  • attachment_shareCancel: 添付ファイル共有のキャンセル
  • attachment_editor: 添付ファイルの編集可能な設定
  • attachment_editorCancel: 添付ファイルを編集およびキャンセルできます
  • attachment_editorModify: 添付ファイルを編集および変更できます
  • calendar_alarm: カレンダー通知
  • custom_create: カスタム メッセージの作成
  • teamwork_taskCreate: 作業管理タスクの作成
  • teamwork_taskUpdate: 作業管理タスクの更新
  • teamwork_taskDelete: 作業管理タスクを削除します
  • teamwork_taskOvertime: 作業管理タスクのタイムアウト
  • teamwork_chat: 作業管理チャット
  • cms_publish: コンテンツ管理の公開
  • cms_publish_to_creator: コンテンツ管理パブリッシュ作成者通知
  • bbs_subjectCreate: フォーラム作成投稿
  • bbs_replyCreate: フォーラム作成の返信
  • mind_fileSend: マインドマップファイル送信
  • mind_fileShare: マインド マップ ファイルの共有
  • im_create: IM チャット メッセージを送信する
  • custom_: カスタム メッセージ

カスタム メッセージ タイプ

custom_ で始まるメッセージ タイプは、カスタム メッセージとして認識されます。

通路側

o2oa/o2server サーバー メッセージ チャネルは、受信したメッセージ コンテンツを処理するために使用されます。7.2.0 バージョンでは、メッセージを処理するために次のチャネルが設計されています。

ws: webSocket メッセージ送信. pmsinner: プッシュ メッセージ. calendar: カレンダー dingding: ネイル welink: Huawei welink zhengwudingding: 政務ネイル qiyeweixin: 企業 WeChat mpweixin: WeChat 公式アカウント kafka: kafka メッセージ キュー activemq: activemq メッセージ キュー restful: restful コール メール: メール送信 api: jdbc を呼び出すシステム内部の言い訳: jdbc 書き込み table: 自作テーブル hadoop: dfs write

メッセージが生成されると、消費処理のためにチャネルに送信されます。

デフォルトの割り当て

デフォルトでは、メッセージのいくつかのタイプとチャネル (例: task_create: to-do の作成) が構成されており、to-do 通知などの機能がデフォルトで実装されています. ほとんどのメッセージは、デフォルトの構成によって自動的に処理されます.

デフォルトの設定では、webSocket、pmsinner、dingding、welink、zhengwudingding、qiyeweixin、mpweixin を介して作成 to-do メッセージが送信されます。

いくつかの典型的なメッセージ使用シナリオのその後のデモンストレーション

シナリオ: 電子メール通知用の To Do メッセージを作成する

  1. 新しいメール チャネルを作成する

[メール] を選択して smtp を構成します。画像は Tencent Enterprise Mail の構成例を示しています。チャネルの名前を「consumer_mail」に設定します。

3. チャネルを追加し、作成したばかりのチャネルを task_create メッセージ タイプに追加します。

これまでのところ、to-do の作成があると、consumer_mail チャネルが呼び出され、電子メールの smtp サービスを介して to-do 担当者に電子メール通知が送信されます. 電子メールのフィルタリングと電子メールのコンテンツは、後でさらに設定されます.

「Zhang San」ユーザーに電子メール通知を送信しないなど、条件付きフィルタリングが必要な場合は、フィルタリング スクリプトを使用して実現できます。

return message.person.indexOf("张三")>-1;

戻り値 true は、処理する必要があることを意味し、 false は処理する必要がないことを意味します. メッセージ本文は、さまざまな時間タイプに応じてさまざまなメッセージから取得され、その内容と形式は異なります. 特定の形式の内容は、印刷ステートメント。

フィルタリング後、ローダーを作成してメッセージ本文の内容をカスタマイズします。

/*
*message 对象是消息体,有脚本执行上下文环境环境自动注入,其中有四个字段
message.title: 标题
message.person: 发送对象
message.type: 消息类型,task_create
message.body: 消息体,类型是task_create的消息中消息体是json格式存储的task(待办)数据
return 返回的message对象
*/
message.title = "您有一份标题为:"+message.body.title+"的待办需要处理。";
message.body = "<a href='http://testing.o2oa.net/x_desktop/work.html?workid="+ message.body.work + "'>您有新的待办需要处理,标题为:" + message.body.title + "</a>";
return message;

ローダーを介してメールの内容をカスタマイズします。

シナリオ 2: 作業の完了後にデータベース テーブルにデータを書き込む

ワークフローが完了したら、指定されたデータベース テーブルにデータを書き込んでみます

·データベースを準備し、テーブルで定義された id、タイトル、および合計フィールドを含むテーブルを作成します。

jdbc (データベース テーブル) チャネルを作成する

まず、testdb データベースの workdata テーブルを指す jdbc チャネルを作成します。

書き込む内容を設定するローダーを作成する

var id = message.body.work;
var resp = this.applications.getQuery("x_processplatform_assemble_surface", "data/work/"+ id);//根据workid获取到业务数据data
var data = JSON.parse(resp.toString()).data
//修改body属性同步到数据库表中
message.body.id = message.body.id;
message.body.title = data.$work.title;
message.body.total = data.total; 
return message;

タイプ (workCompleted_create) にチャネル consumer_jdbc を追加するために選択します。

ここまでで、データをデータベースに同期するための構成が完了しました。

チャネル構成の説明

以下に、デフォルト以外の 6 つのチャネルについて説明します。

カフカ

メッセージを kafka キューにプッシュします。構成パラメーターの説明:

  • bootstrapServers: サーバーアドレス
  • トピック: メッセージ カテゴリ
  • securityProtocol: セキュリティ プロトコル
  • saslMechanism: SASL 認証メカニズム
  • ユーザー名: ユーザー名
  • パスワード: キー

アクティブmq

メッセージを activemq キューにプッシュします。構成パラメーターの説明:

  • url: メッセージ キュー アドレス
  • queueName: キュー名
  • ユーザー名: ユーザー名
  • パスワード: パスワード

安らかな

Restful サービスの呼び出し、構成パラメーターの説明:

  • url: 安らかな発信アドレス
  • method: メソッド get、post、put、delete を呼び出します。
  • internal: 内部システム コールであるかどうかに関係なく、内部システム コールである場合は、強制的にサーバー ID を持ってきて権限認証を通過させます。

郵便

SMTP サーバーを呼び出してメールを送信します。構成パラメーターの説明:

  • ホスト: SMTP サーバーのアドレス
  • ポート: SMTP サービス ポート、デフォルトは 465
  • sslEnable: smtp 送信の ssl 暗号化を有効にするかどうか
  • auth: ユーザー認証を有効にするかどうか
  • 差出人: メール送信者
  • パスワード: smtp ログイン パスワード

jdbc

データベース リンクを呼び出し、データベース テーブルにデータを書き込みます。設定パラメータの説明:

  • driverClass: jdbc ドライバー クラス
  • url: jdbc アドレス
  • カタログ: カタログ
  • スキーマ: データベース
  • テーブル: データベース テーブル
  • ユーザー名: ユーザー名
  • パスワード: パスワード

ハドゥープ

Hadoop ファイル システムへのデータの書き込み、構成パラメータの説明

  • fsDefaultFS: Hadoop サービスのアドレス。
  • path: 書き込み先のディレクトリ。
  • username: システム アカウントを指定します。

(公開アカウントより転載:浙江ランドネットワーク)

おすすめ

転載: blog.csdn.net/liyi_hz2008/article/details/126783565