More Related Content
PPTX
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた PDF
20130606 alfresco study16audit PPTX
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう PPTX
PPTX
Alfresco Javascript Consoleのご紹介 PPTX
PPTX
メタプログラミングRuby勉強会#7(fluentプラグイン) PPTX
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel- What's hot
PDF
PDF
PDF
PDF
OpenWhisk - Docker action で MeCab を動かす PDF
PDF
PDF
社内向けTech Talk資料~Fluentdの基本紹介~ PPTX
PPTX
Zabbixの分散構築~ConoHa VPSでのzabbix server構築~ PDF
PDF
PDF
PDF
PPTX
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~ PDF
PDF
PDF
PDF
[MR08] 知っておくべき UWP アプリ開発の A to Z PPTX
PPTX
Appsody でnodejsのアプリを立ち上げよう! Viewers also liked
PDF
Alfresco勉強会#28 メタデータテンプレート PPTX
Alfresco勉強会#26 alfresco community 5.0でssoを設定する PDF
Alfresco study29 activitymonitoring PDF
全社情報共有サイトへのAlfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会 PPTX
Alfresco勉強会#28 alfresco 5.0の検索機能をみてみよう PDF
[Alfresco]ドキュメントライブラリのUIカスタマイズ PPTX
PPTX
PDF
Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと Alfresco勉強会#30 alfrescoとshareのJavaScriptをデバッグしよう
- 1.
- 2.
はじめに
自己紹介
川部知美です
aegifで働いています
Alfrescoは4.2.dからぼちぼち触っています
今日の環境
Alfresco 5.0.dをMac OS X 10.10にインストーラの設定を特に変更
せずにインストールしたもの
- 3.
- 4.
- 5.
- 6.
AlfrescoのサーバサイドJavaScript
デバッグ
ツールが用意されており、起動方法が2通りある
1.tomcat/webapps/alfresco/WEB-INF/classes/log4j.propertiesに以下を追記
2. ブラウザで
http://localhost:8080/alfresco/service/api/javascript/debugger
にアクセスし、管理者情報を入力して認証後”Enabled”をクリック
※1 custom-log4j.propertiesなどの名称のファイルに追記しtomcat/shared/classes/alfresco/extension
に配置してもOK
※2 MacやLinuxでは、setenv.shでJAVA_OPTS= -Djava.awt.headless=falseに設定しないと起動しな
い(Windowsでは未確認)
log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=on
- 7.
- 8.
AlfrescoのサーバサイドJavaScript
ログ出力
log4j.propertiesに以下を追記(ログレベルの変更)する
org.alfresco.repo.jscript.ScriptLoggerはサーバサイドJavaScript内でloggerオブジェク
トとしてアクセスできる
以下のコードで、catalina.outやalfresco.logにログが出力される
(詳細はorg.alfresco.repo.jscript.ScriptLoggerを参照)
if (logger.isLoggingEnabled())
logger.log("something to log");
log4j.logger.org.alfresco.repo.jscript.ScriptLogger=debug
- 9.
- 10.
- 11.
- 12.
ShareのサーバサイドJavaScript
ログ出力
log4j.propertiesに以下を追記する
org.alfresco.repo.jscript.ScriptLoggerはサーバサイドJavaScript内でloggerオブジェク
トとしてアクセスできる
以下のコードで、catalina.outやshare.logにログが出力される
(詳細はorg.alfresco.repo.jscript.ScriptLoggerを参照)
if (logger.isLoggingEnabled())
logger.log("something to log");
log4j.logger.org.alfresco.repo.jscript.ScriptLogger=debug
- 13.
- 14.
ShareのクライアントサイドJavaScript
準備
デフォルトではminifyされたJavaScriptとなっているため、以下の設
定を変更してクライアントデバッグを有効にする
tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml
4 <config replace="true">
5 <flags>
6 <!--
7 Developer debugging setting to turn on DEBUG mode for client scripts in the browser
8 -->
9 <client-debug>true</client-debug>
10
11 <!--
12 LOGGING can always be toggled at runtime when in DEBUG mode (Ctrl, Ctrl, Shift,
Shift).
13 This flag automatically activates logging on page load.
14 -->
15 <client-debug-autologging>false</client-debug-autologging>
16 </flags>
17 </config>
- 15.
- 16.
ShareのクライアントサイドJavaScript
ログ出力
share-config-custom.xmlに記述あり
client-debug-autologgingをtrueにするか、Ctrl, Ctrl, Shift, Shiftで
log4javascriptのログ出力画面を起動
4 <config replace="true">
5 <flags>
6 <!--
7 Developer debugging setting to turn on DEBUG mode for client scripts in the browser
8 -->
9 <client-debug>true</client-debug>
10
11 <!--
12 LOGGING can always be toggled at runtime when in DEBUG mode (Ctrl, Ctrl, Shift,
Shift).
13 This flag automatically activates logging on page load.
14 -->
15 <client-debug-autologging>false</client-debug-autologging>
16 </flags>
17 </config>
- 17.
- 18.
- 19.
- 20.
Debug Menu
DebugMenu
4.2の途中で追加された、新しいheaderを作成するウィジェット群をデバッ
グする機能
alfresco/core/Coreモジュールをmixinしたウィジェットが対象(4.2)
Aikau Frameworkを利用しているウィジェットが対象で、YUIなどを利用
している昔からのウィジェットは対象外(5.0.d)
5.0.dでAikau Frameworkを利用している箇所
Header
Live Search
Filtered Search Page
Search Management Page
Site Management Page
Analytics and Reporting Widgets
Page Creator
Document List prototype
- 21.
Debug Menu
DebugLogging
“Debug Logging”と”Show All Logs”にチェックを入れてクライアントデバッ
グツールを開くと、ログが出力される
ログの例:
出力コード(alfresco/menus/AlfMenuBar.jsから抜粋):
this.alfLogがLoggingServiceにログを出力する際、functionの命名規則を読
み取ってログに反映させる
LoggingServiceをカスタマイズすることで出力先を変更することも可能
alfresco/menus/AlfMenuBar/CustomMenuBar/[closeChild] >> Custom MenuBar
_closeChild
var CustomMenuBar = declare([MenuBar, AlfCore], {
_closeChild: function
alfresco_menus_AlfMenuBar_CustomMenuBar___closeChild(){
this.alfLog("log", "Custom MenuBar _closeChild");
}
});
- 22.
- 23.
- 24.
- 25.