オープンチャット, 投稿 (Open Chat, Post)
オープンチャット(Questetraワークフロー基盤の社内ソーシャル)に投稿します。案件ID “#p123” のトピック付で自動投稿されるため、案件関与者のタイムラインにのみ表示されます(ワークフローエンジンの立場で投稿されるためフォロワーの概念はありません)。なお投稿された内容は、BPMSユーザであれば誰でも、(案件データの閲覧権限がないユーザでも)、検索閲覧できるようになります。
2019-12-18 (C) Questetra, Inc. (MIT License)
https://support.questetra.com/ja/addons/open-chat-post/
Configs
- A: 投稿文が格納されている文字列型データ項目を選択してください *
- B: 添付ファイルが格納されているファイル群型データを選択してください
- C: 組織メンバーのタイムラインにも表示したい場合は組織IDをセットしてください (例: g99->”99″) #{EL}
Script (click to open)
// (c) 2019, Questetra, Inc. (the MIT License)
// Notes:
// If Organization ID is configured, the posts will be displayed on the member timelines.
//
// Notes(ja):
// 組織IDをセットしておくと、メンバーのタイムラインにも表示されるようになります
//////// START "main()" /////////////////////////////////////////////////////////////////
main();
function main(){
//// == Config Retrieving / 工程コンフィグの参照 ==
const dataIdA = configs.get( "conf_DataIdA" ) + ""; // config required
const dataIdB = configs.get( "conf_DataIdB" ) + ""; // config not required
const orgId = configs.get( "conf_OrgId" ) + ""; // config not required
engine.log( " AutomatedTask Config: Organization ID: " + orgId );
//// == Data Retrieving / ワークフローデータの参照 ==
let strPostText = "";
if( engine.findDataByNumber( dataIdA ) !== null ){
strPostText = engine.findDataByNumber( dataIdA ) + "";
}
let arrFiles = "noFile";
let numFilesSize = 0;
if( dataIdB !== "" ){ // if configured
arrFiles = engine.findDataByNumber( dataIdB ); // java.util.ArrayList
if( arrFiles !== null ){
numFilesSize = arrFiles.size() - 0; // Java Int to Javascript number
}else{
engine.log( " AutomatedTask FilesWarning:" +
" Files not attached" );
}
}
//// == Calculating / 演算 ==
// prepare OpenChat Message
// com.questetra.bpms.core.event.scripttask.FeedServiceWrapper
let chatMsg = feedService.begin(); // returns FeedMessageWrapper
chatMsg = chatMsg.setMessage( strPostText );
if( numFilesSize !== 0 ){
for( let i = 0; i < numFilesSize; i++ ){
// com.questetra.bpms.core.event.scripttask.QfileView
engine.log( " AutomatedTask Files:" +
" File Name: " + arrFiles.get(i).getName() );
engine.log( " AutomatedTask Files:" +
" File Length: " + arrFiles.get(i).getLength() );
engine.log( " AutomatedTask Files:" +
" File ContentType: " + arrFiles.get(i).getContentType() );
chatMsg = chatMsg.attachFile( arrFiles.get(i) );
}
}
if( orgId !== "" ){
// com.questetra.bpms.core.event.scripttask.QgroupDaoWrapper
chatMsg = chatMsg.setShareQgroup( qgroupDao.findById( Number(orgId) ) );
}
// post Message to OpenChat
engine.log( " AutomatedTask OpenChat: Post" );
const postResult = chatMsg.post() - 0; // Java Long to Javascript number
engine.log( " AutomatedTask OpenChat Message ID: " + postResult );
//// == Data Updating / ワークフローデータへの代入 ==
// (nothing)
} //////// END "main()" /////////////////////////////////////////////////////////////////
Download
Capture
Notes
- 2019年12月現在、投稿(ワークフローエンジンの立場からの投稿)を削除する機能はありません
- 組織IDをセットしておくと、メンバーのタイムラインにも表示されるようになります
See also
Related
ピンバック: Salesforce Cooperation Process – Questetra Support