【Pega】更新・削除してしまったRuleを元に戻す方法
夢中になって実装を進めていると、「あっ、間違ってルール消しちゃった。。。」ということがある。 焦らず以下の方法を踏めば、Ruleを復活することができる。
更新したRuleを過去の状態に戻す
手順①:RuleのHistoryを開く
過去の状態に戻したいRuleのHistoryタブを開く。
Historyタブ下部のView Full Historyをクリック
手順②:戻す過去断面を指定する
以下のように、該当Ruleの編集履歴の画面が開く。画面左部の鉛筆マークをクリックすることで、その時点のルールのSnapShotが新規タブに開く。
手順③:Restoreを実行
SnapShotの画面で、Restoreをクリックすると、現在のRuleの状態から開いているSnapShotの状態に戻すことができる。
削除したRuleを復活させる
手順①:削除されたRule一覧を表示して選択
Dev Studioのメニュー上部にある⚙マークを選択して、Application>Development>Recent Actionをクリック。
新規に開いたタブで、View Deleted Rulesをクリックすると、削除されたRule一覧が出てくる。
復活させたいRuleを選択。
手順②:Restoreを実行
あとは上の章の手順③と同様。これで削除されたRuleを復活できる。
環境
Pega Platform 8.3.0のPersonal Editionを使用
おわり~
【Pega】Checkout, Check Inを機能を使う
Checkout, Check In機能とは?
PegaにおけるCheckout, Check Inは、Pegaの開発における排他制御を実現するための機能。
Checkout
変更を加えたいRuleのインスタンスをCheckoutすると、プライベートなコピーが作成され、そのコピーに対して変更を加えることができるようになる。
そしてCheckoutをした人以外は、そのRuleインスタンスをCheckoutできなくなる(悲観ロック)。
Check In
Check Inを行うことで、Checkout状態で行った変更が反映される。Subversionにおけるcommitのようなもの。
設定方法
デフォルトではCheckout, Check Inは無効となっているため、手動で設定する必要がある。
対象とするRule Setを開き、SecurityタブのUse Check-out?にチェックをつける。
また、OperatorにCheckoutを許可するために、各OperatorのSecurityタブでAllow rule check outにチェックがついていることも必要である。
使用方法
Checkout
各Ruleの画面右上のCheckoutを押下。
Check In
Ruleを編集してSaveしたうえ、Check Inを押下。 途中でCheck outを放棄したい場合は、Discardを押下。
Check Inコメントを入力したうえ、Submitすると完了。
環境
Pega Platform 8.3.0(Personal Edition)を使用
おわり~
【Pega】ショッピングサイトのサンプルアプリケーション
Pegaとは?
PegaとはPegasystems社が提供するビジネスプロセス管理スイートです。
主に
- ケースマネジメント
- ロボティクスプロセスオートメーション(RPA)
- AIを用いた顧客関係管理
の機能を持ったアプリケーションをハイスピードで開発するプラットフォームを提供しています。
2019年のGartner社のレポートでは、iBPMS (Intelligent Business Process Management Suites)の分野でLeaderの評価を獲得しています。
ショッピングサイトのサンプルアプリ
こんな感じで、
- 顧客情報を入力
- 商品と個数を選択
- 買い物かごに追加
- かごの中身を確認、必要に応じて削除
- 確定(submit)
する画面を作ってみました。
上記のアプリをベースにし、これからの記事で
- オートコンプリート入力
- 画面項目のバリデーション
- リストに項目を追加して表示
- レポートでリスト項目を参照
などなどPegaの実装方法を紹介する予定です。
おわり~
【JavaScript】ランダムにWikipediaの記事を取得する関数
やりたいこと
現在作成中のLINE BOTの機能として、Wikipediaの1記事の情報をランダムにとってきて
- 記事のタイトル
- 記事のURL
をレスポンスしてくれる機能を作りたい。
使用したAPIとその使い方
MediaWiki APIを使用した。
基本的な仕様や使い方、使用上の注意点はこの記事を参照のこと。
以下のURLを指定することで、Wikipediaからランダムに1記事の基本情報を取得することが可能。
パラメータを簡単に説明すると、
- format=json でJSON形式を指定
- action=query でデータ取得のアクションを指定
- generator=random で記事をランダムに取得するよう指定
- grnamespace=0 で持ってくる記事の名前空間(分類のようなもの)を0(標準)に設定
- prop=info で記事の基本情報を取得
- inprop=url で記事のURLも持ってくるよう設定
- indexpageids でページのIDを付与 これを指定しなければいけない理由は後述
このURLでの取得例がこちら FF出てきた!!!
JavaScriptのサンプルコード
上記のURLを用いて記事の情報をJSONで取得し、記事のタイトルとURLを返すサンプルコード
function getRandomArticle() { const url = 'https://ja.wikipedia.org/w/api.php?format=json&action=query&generator=random&grnnamespace=0&prop=info&inprop=url&indexpageids'; const res = UrlFetchApp.fetch(url); const item = JSON.parse(res); // 取得したページのIDを取得 const pageID = item.query.pageids; // ページのタイトルを取得 const pageTitle = item.query.pages[pageID].title; // ページのURLを取得 const pageUrl = item.query.pages[pageID].fullurl; // リプライ用のテキスト生成 replyText = 'こんな記事を拾ってきたわん!'+'\n'; replyText += '【'+pageTitle +'】'+'\n'; replyText += pageUrl; return replyText; }
上に貼ったJSONサンプルを見ると分かるが、query.pagesの直下に該当記事のpageIDが変数名として入るフォーマットになっている。
記事はランダムに取得するため、当然このpageIDは都度変わる。
そのため、まずはquery.pageidsからpageIDを取得したうえ、その値をブラケット記法で用いて各変数にアクセスしている。
URLにindexpageidsを指定したのはこのquery.pageidsを表示するようにするためだった。
LINE BOTで動かしてみる
こんな感じ
おわり~