Adobe Creative SDK ハンズオン資料
Adobe Creative SDK とは
「Adobe Creative SDK 」とは、Creative Cloud のさまざまな機能をクラウド経由で利用できるコンポーネントが含まれた開発者キットです。a-blog cms では、エントリーにアップロードした画像をPhotoshopで加工するように取り扱うことができます。
カスタマイズの手順
※本ハンズオンでは、Adobe Creative Cloudのアカウントが必要です。(無料可)
- API Keyの取得
- テンプレートのカスタマイズ
- 動作の確認
API Key の取得
- Adobe Creative SDK にアクセス
- Adobe Creative Colud のアカウントで SIGN IN を行う(無料アカウントでもOK)
- My Apps にアクセス
- NEW APPLICATION をクリックする
- Platform に 「Web」 を選択(その他の項目は適当でOK)
- CLIENT SECRET を コピーする
01. Adobe Creative SDK にアクセス
02. Adobe Creative Colud のアカウントで SIGN IN を行う
ページ右上の「SIGN IN」をクリックし、Creative Cloud のIDとパスワードを入力してください。
03. My Apps にアクセス
04. NEW APPLICATION をクリックする
05. Platform に 「Web」 を選択(その他の項目は適当でOK)
06. CLIENT SECRET を コピー
API Key の取得は以上です。次に、取得した API Key を使って a-blog cms のカスタマイズを行います。
テンプレートのカスタマイズ
- a-blog cms Ver. 2.6.0a をインストールする
- 「site2015」テーマを設定する
- /themes/site2015/include/head/js.html に以下の記述を追加する
- /themes/system/admin/entry/unit.html を /themes/site2015/admin/entry/unit.html に複製する
- /themes/site2015/admin/entry/unit.html を以下のように修正する
01. a-blog cms Ver. 2.6.0a をインストールする
※旧バージョンでは対応しておりませんので、ご注意ください。
02. 「site2015」テーマを設定する
03. /themes/site2015/include/head/js.html に以下の記述を追加する
Ver. 2.6.1以上とVer. 2.6.1未満でコードが違いますので、バージョンにあった方をご利用ください。
<!-- Load Feather code --> <script type="text/javascript" src="http://feather.aviary.com/imaging/v2/editor.js"></script> <!-- Instantiate Feather --> <script> var featherEditor = new Aviary.Feather({ apiKey: ' ※ここに取得した CLIENT SECRET を入力してください ', theme: 'dark', // Check out our new 'light' and 'dark' themes! tools: 'all', appendTo: '', onSave: function(imageID, newURL) { var image = new Image(), target = this.target, createObjectURL = window.URL && window.URL.createObjectURL, req = new XMLHttpRequest(); req.open('GET', newURL, true); req.responseType = 'blob'; req.send(null); req.onload = function( ) { if ( req.status != 200 ) { alert('error'); return false; } // Ver. 2.6.1以上 var resize = new ACMS.Dispatch.Imgresize(target); image.force = true; image.target = target; image.mime = req.response.type; image.onload = ACMS.Dispatch.Utility.imgToDataURL; image.src = createObjectURL(req.response); image.callback = function ( elm, dataUrl, reisze ) { resize.set(target, dataUrl, true); }; // Ver. 2.6.1未満 image.force = true; image.target = target; image.mime = req.response.type; image.onload = ACMS.Dispatch.Utility.imgToDataURL; image.src = createObjectURL(req.response); image.callback = function ( elm, dataUrl, reisze ) { ACMS.Dispatch._imgresize.set(target, dataUrl, true); }; // 分岐ここまで featherEditor.close(); }; }, onError: function(errorObj) { alert(errorObj.message); } }); ACMS.addListener("acmsAddUnit", function( event ) { var item = event.obj.item; $('.js-adobe_cc_sdk', item).on("click", function() { var $self = $(this), id = $self.data('id'), src = $self.data('src'); featherEditor.launch({ image: id, url: src, target: item }); return false; }); }); </script>
04. /themes/system/admin/entry/unit.html を /themes/site2015/admin/entry/unit.html に複製する
※「system」テーマはアップデートによって上書きされるので、カスタマイズをするときは使用中のテーマ(今回は「site2015」)に該当のフォルダとファイルをコピーすることをおすすめします。
05. /themes/site2015/admin/entry/unit.html を以下のように修正する
複製した unit.html の一部を、以下のように修正してください。
修正前
<!-- BEGIN_IF [{tiny}/nem/] --> <td class="entryFormFileentryFormImages"> <a href="%{HTTP_ARCHIVES_DIR}{popup}" rel="prettyPhoto[]"><img src="%{ARCHIVES_DIR}{tiny}" width="{tinyX}" height="{tinyY}" alt="<!--T-->プレビュー<!--/T-->" class="js-img_resize_preview entryFormFileImage" /></a> </td> <!-- ELSE --> <td class="entryFormFileentryFormImages"> <img src="" width="280" alt="<!--T-->プレビュー<!--/T-->" class="js-img_resize_preview entryFormFileImage" style="display:none;" /> </td> <!-- END_IF -->
修正後
<!-- BEGIN_IF [{tiny}/nem/] --> <td class="entryFormFileentryFormImages"> <a href="#" data-id="{id}" data-src="%{HTTP_ARCHIVES_DIR}{popup}" class="js-adobe_cc_sdk js-img_data_url"><img id="{id}" src="%{ARCHIVES_DIR}{tiny}" width="{tinyX}" height="{tinyY}" alt="プレビュー" class="js-img_resize_preview entryFormFileImage" /></a> </td> <!-- ELSE --> <td class="entryFormFileentryFormImages"> <a href="#" data-id="{id}" data-src="" class="js-adobe_cc_sdk js-img_data_url"><img id="{id}" src="" width="280" alt="プレビュー" class="js-img_resize_preview entryFormFileImage" style="display:none;" /> </a> </td> <!-- END_IF -->
以上で、テーマのカスタマイズは終了です。次に、Creative SDK が正常に動くか確認します。
動作の確認
- エントリの編集画面に移動
- 画像ユニットのサムネイルをクリック
- Adobe Creative SDK で編集して保存
- エントリを保存して画像が変更されるか確認