Movable TypeのWorkflowプラグインでDataAPIが利用可能になる「WorkflowDataAPIプラグイン」
これは「Movable Type Advent Calendar 2022」15日目の記事です。
Movable TypeのWorkflowプラグインでDataAPIが利用可能になる「WorkflowDataAPIプラグイン」の紹介です。
1.概要
Workflowプラグインを使ったワークフロー機能は管理画面上でしか利用・操作できません。
そこで、DataAPIを提供することで、任意のクライアントアプリケーションを通じてワークフロー機能を利用できるようにしてみました。
また、DataAPI機能をWorkflowプラグインに含めると、イニシャルコストが高くなるため、別プラグインとしています。
DataAPIを利用する場合は、Workflowプラグインに加えて、WorkflowDataAPIプラグインをインストールして頂く形になります。
2.主な機能
現状では下記の機能についてAPIを提供しています。
- 記事データの取得
- コンテンツデータの取得
- 記事データの承認依頼
- コンテンツデータの承認依頼
- 記事データの承認
- コンテンツデータの承認
- 記事データの差し戻し
- コンテンツデータの差し戻し
承認依頼・承認・差し戻しではメールの送信も行われます。
記事・コンテンツデータの取得では、ワークフローに必要な、承認者一覧が取得できます。
また、記事・コンテンツデータの承認依頼・承認・差し戻しではワークフローのステータスを更新することができます。
3.サンプル
DataAPIのサンプルを一部紹介します。
これはライターが公開状態のコンテンツデータについて承認依頼を行うサンプルです。
<script>
$.ajax({
url: "http://user-domain/cgi-bin/mt/mt-data-api.cgi/v2/authentication",
type: "POST",
dataType: "json",
data: {
'username': 'workflow_writer',
'password': 'password',
'clientId': 'test'
}
}).done(function(data){
sessionId = data.sessionId
accessToken = data.accessToken
// コンテンツデータ
data = {
// 承認依頼のステータス
status: "20",
authored_on: "20220407205922",
modified_on: "20220418222222",
// コンテンツフィールド
fields: [{
id: 7,
type: "single_line_text",
value: "test123456"
},{
id: 8,
type: "number",
value: "123"
},{
id: 182,
type: "content_type",
value: [ 1 ]
}],
label: "test",
identifier: "def6decc71301a52e9a760d6d8f7fdc497f54d8",
unique_id: "def6decc71301a52e9a760d6d8f7fdc497f54d8"
};
// コンテンツデータの承認依頼
var accessToken = "MTAuth accessToken=" + accessToken;
$.ajax({
url: "http://user-domain/cgi-bin/mt/mt-data-api.cgi/v4/sites/1/contentTypes/2/workflow_data/52",
type: "PUT",
data: 'content_data=' + JSON.stringify(data),
dataType: "json",
headers: {
'X-MT-Authorization': accessToken
}
}).done(function(data){
$('#test').text(data.status);
});
});
</script>
4.プラグインについて
WorkflowDataAPIプラグインの詳細は下記のページをご覧ください。
Posted by yujiro このページの先頭に戻る
- MovableTypeのDataAPIでコンテンツデータをモーダル表示させる方法
- Movable TypeのDataAPIで記事を投稿するサンプル
- Movable TypeのDataAPIで「403 Forbidden」になる場合の対処
- Movable TypeのDataAPIで特定のカスタムフィールドを取得する方法
- Movable TypeのDataAPIでアクセスランキングを表示する方法
- Movable TypeとGoogle Analyticsの連携
- Movable Type Data APIの使い方:カスタムフィールド検索
- Movable Type Data APIの使い方:検索
- Movable Type Data APIの使い方:カスタムフィールド作成
- Movable TypeのData APIを有効・無効にする方法のまとめ
- Movable Type Data APIの使い方:uploadAsset()
- Movable Type Data APIの使い方:publishEntries()
- Movable Type Data APIの使い方:authenticate()
- Movable Type Data APIの使い方:paramsについて
- Movable Type Data APIの使い方:listEntries()
トラックバックURL
コメントする
greeting