SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
AlfrescoとSolr(後編)
- Alfresco勉強会 第12回 -




                                     2012/12/12 @mryoshio




                       Copyright 2012 tachibanakikaku.com. All rights reserved.
目次


‣ 自己紹介

‣ 前回のおさらい

‣ ソースコード解説

‣ おわりに
自己紹介


‣ mryoshio
  → A社の社員

  → AlfrescoやLiferayのコンサルタント

  → ソースコードを読んだりカスタマイズしたりサポートしたり

  → Twitterとか色々なところにいます

  → もう少しPythonで遊びたいと思いつつできてない

  → 最近はこたつに入って仕事してます
前回のおさらい
AlfrescoとSolr


‣ Alfrescoとは
  → 英Alfresco社が提供するオープンソースソフトウェア。企業規模のコンテンツ
    管理を行える。それ以外に,Webコンテンツ管理やコラボレーションを低コ
    ストで行える

‣ Solrとは
  → Apache Luceneプロジェクトから派生した人気のある検索プラットフォー
    ム。ヒット部分のハイライト,ファセットサーチなど豊富な機能がある。ス
    ケーラブルで分散した検索やインデクスレプリケーションも可能
パターン1:AlfrescoとSolrが別居
パターン2:AlfrescoとSolrが同居
ソースコード解説
Alfresco Solr Plugin側


‣ (省略)
Alfresco側


‣ SolrSearchService
  → 前回やった

‣ SolrQueryHTTPClient
  → 前回やった

‣ Alfresco Solr Pluginでのインデクシングに
  必要な情報を渡すWeb Script
  → ここから
Web Script


‣ Alfresco Solr PluginへAlfrescoの情報を渡す
  → webapps/alfresco/WEB-INF/classes/alfresco/templates/
    webscripts/org/alfresco/repository/solr/に設定ファイル群が存在

     aclChangeSets,acls,aclsReaders

     model,modelsdiff

     nodeContent,nodes,nodesMetaData

     transactions
Javaクラスの指定


‣ 各Web Scriptで利用するJavaクラスの指定
     → webapps/alfresco/WEB-INF/classes/alfresco/web-scripts-
       application-context.xml

L.1431辺り
  <!--                                                                      -->
  <!-- SOLR                                                                 -->
  <!--                                                                      -->
  <!--                                                                      -->


 <bean id="solrSerializer" class="org.alfresco.repo.web.scripts.solr.SOLRSerializer" init-method="init">
   <property name="dictionaryService" ref="dictionaryService"/>
   <property name="namespaceService" ref="namespaceService"/>
 </bean>


  <bean id="webscript.org.alfresco.repository.solr.aclChangeSets.get"
      class="org.alfresco.repo.web.scripts.solr.AclChangeSetsGet"
      parent="webscript">
    <property name="solrTrackingComponent" ref="solrTrackingComponent"/>
  </bean>
(後略)
aclChangeSets


‣ 利用ファイル群
 → aclChangeSets.get.desc.xml(Web Script description)

 → aclChangeSets.get.json.ftl(FreeMarker Template)

 → org.alfresco.repo.web.scripts.solr.AclChangeSetsGet(Java)

‣ 目的
 → 特定時間以後のACL変更(List<AclChangeSet>)を取得する

‣ 引数
 → fromId,fromTime,maxResults(desc.xml)

 → toId,toTime(隠しパラメータ)
aclChangeSets(Call Tree)


‣ L.63 AclChangeSetsGet#executeImpl
  → L.157 SOLRTrackingComponentImpl#getAclChangeSets

  → L.88 SOLRDAOImpl#getAclChangeSets

     この後,iBatis経由でDBから値を取得


‣ solr-common-SqlMap.xml
  → select_ChangeSets_Summary

     返り値がAclChangeSetに格納される
acls


‣ 利用ファイル群
  → acls.post.desc.xml(Web Script description)

  → acls.post.json.ftl(FreeMarker Template)

  → org.alfresco.repo.web.scripts.solr.AclsGet(Java)

‣ 目的
  → 与えられたACL変更に対応するACLを取得する

‣ 引数
  → fromId,maxResults(desc.xml)
acls(Call Tree)


‣ L.60 AclsGet#executeImpl
  → L.113 #buildModel

  → L.171 SOLRTrackingComponentImpl#getAcls

  → L.115 SOLRDAOImpl#getAcls

     この後、iBatis経由でDBから値を取得


‣ solr-common-SqlMap.xml
  → select_AclsByChangeSetIds

     返り値がAclに格納される
aclsReaders


‣ 利用ファイル群
  → aclsReaders.post.desc.xml(Web Script description)

  → aclsReaders.post.json.ftl(FreeMarker Template)

  → org.alfresco.repo.web.scripts.solr.AclsReadersGet(Java)

‣ 目的
  → 与えられたACLのreaderを取得する

‣ 引数
aclsReaders(Call Tree)


‣ L.60 AclsReadersGet#executeImpl
  → L.107 #buildModel

  → L.199 SOLRTrackingComponentImpl#getAclsReaders

  → L.1066 AclDAOImpl#getAccessControlList

  → #getAccessControlListImpl

     return AccessControlList
model


‣ 利用ファイル群
 → model.get.desc.xml(Web Script description)

 → org.alfresco.repo.web.scripts.solr.AlfrescoModelGet(Java)

‣ 目的
 → 与えられた名称のモデルを取得する

‣ 引数
 → modelQName(隠しパラメータ)
model(Call Tree)


‣ L.46 AlfrescoModelGet#execute
  → L.70 #handle

  → L.746 SOLRTrackingComponentImpl#getModel

  → L.75 DictionaryComponent#getModel

  → L.871 DictionaryDAOImpl#getModel

  → #getCompiledModel

     return CompiledModel
modelsdiff


‣ 利用ファイル群
 → modelsdiff.post.desc.xml(Web Script description)

 → modelsdiff.post.json.ftl(FreeMarker Template)

 → org.alfresco.repo.web.scripts.solr.AlfrescoModelsDiff(Java)

‣ 目的
 → 与えられたモデルの差分を取得する

‣ 引数
 → models(JSONArray,隠しパラメータ)
modelsdiff(Call Tree)


‣ L.42 AlfrescoModelsDiff#executeImpl
  → L.77 #buildModel

  → L.768 SOLRTrackingComponentImpl#getModelDiffs

  → L.67 DictionaryComponent#getAllModels

  → L.791 DictionaryDAOImpl#getModels

  → #getCompiledModels
nodeContent


‣ 利用ファイル群
 → nodeContent.get.desc.xml(Web Script description)

 → org.alfresco.repo.web.scripts.solr.NodeContentGet(Java)

‣ 目的
 → 与えられたノード属性の値をテキストで取得する

‣ 引数
 → nodeId,propertyQName(desc.xml)
nodeContent(Call Tree)


‣ L.202 NodeContentGet#execute
 → StreamContent#streamContentImpl

    ストリームとしてレスポンスをクライアントへ返す
nodes


‣ 利用ファイル群
 → nodes.post.desc.xml(Web Script description)

 → nodes.post.json.ftl(FreeMarker Template)

 → org.alfresco.repo.web.scripts.solr.NodesGet(Java)

‣ 目的
 → トランザクション内で更新/削除されたノードを取得する

‣ 引数
 → txnIds,fromTxnId,toTxnId,fromNodeId,toNodeId

 → excludeAspects,includeAspectsなど(全て隠しパラメータ)
nodes(Call Tree)


‣ L.183 NodesGet#executeImpl
  → L.296 SOLRTrackingComponentImpl#getNodes

  → L.149/L.155 SOLRDAOImpl#getNodes

     この後、iBatis経由でDBから値を取得


‣ solr-common-SqlMap.xml
  → select_Txn_Nodes

     返り値がNodeに格納される
nodesMetaData


‣ 利用ファイル群
 → nodesMetaData.post.desc.xml(Web Script description)

 → nodesMetaData.post.json.ftl(FreeMarker Template)

 → org.alfresco.repo.web.scripts.solr.NodesMetaDataGet(Java)

‣ 目的
 → 与えられたノードのメタデータを取得する

‣ 引数
 → nodeIds,fromNodeId,toNodeId,maxResults

 → includeAclId,includeAspectsなど(全て隠しパラメータ)
nodesMetaData(Call Tree)


‣ L.181 NodesMetaDataGet#executeImpl
 → L.735 SOLRTrackingComponentImpl#getNodesMetadata

 → NodeMetaDataQueryRowHandler#processResult

    callbackを使って最終的にMetaDataを取得
transactions


‣ 利用ファイル群
  → transactions.get.desc.xml(Web Script description)

  → transactions.get.json.ftl(FreeMarker Template)

  → org.alfresco.repo.web.scripts.solr.TransactionsGet(Java)

‣ 目的
  → 与えられた時間に含まれるトランザクションを取得する

‣ 引数
  → fromTxnId,fromCommitTime,maxResults(desc.xml)

  → minTxnId,maxTxnId,toCommitTime(隠しパラメータ)
transactions(Call Tree)


‣ L.68 TransactionsGet#executeImpl
  → L.280 SOLRTrackingComponentImpl#getTransactions

  → L.136 SOLRDAOImpl#getTransactions

     この後、iBatis経由でDBから値を取得


‣ solr-common-SqlMap.xml
  → select_Txns

     return Transaction
おわりに
参考


‣ ソースコード関連
 → https://wiki.alfresco.com/wiki/
   Alfresco_SVN_Development_Environment

 → http://wiki.alfresco.com/wiki/Source_Code
Copyright 2012 tachibanakikaku.com. All rights reserved.

Weitere ähnliche Inhalte

Was ist angesagt?

Alfresco勉強会#15 alfresco 4をインストールしてみよう!
Alfresco勉強会#15 alfresco 4をインストールしてみよう!Alfresco勉強会#15 alfresco 4をインストールしてみよう!
Alfresco勉強会#15 alfresco 4をインストールしてみよう!Tasuku Otani
 
Alfresco ce 4.2の新機能
Alfresco ce 4.2の新機能Alfresco ce 4.2の新機能
Alfresco ce 4.2の新機能Jun Terashita
 
Alfresco勉強会#26 alfresco community 5.0でssoを設定する
Alfresco勉強会#26 alfresco community 5.0でssoを設定するAlfresco勉強会#26 alfresco community 5.0でssoを設定する
Alfresco勉強会#26 alfresco community 5.0でssoを設定するTasuku Otani
 
Ssl証明書を設定したらapacheが起動しない?
Ssl証明書を設定したらapacheが起動しない?Ssl証明書を設定したらapacheが起動しない?
Ssl証明書を設定したらapacheが起動しない?denet1999
 
OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」
OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」
OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」Atsushi Tanaka
 
超簡単!Apache TomcatをWindowsにインストール
超簡単!Apache TomcatをWindowsにインストール超簡単!Apache TomcatをWindowsにインストール
超簡単!Apache TomcatをWindowsにインストールShin Tanigawa
 
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~真乙 九龍
 
オープンソースNW監視ツールのご紹介
オープンソースNW監視ツールのご紹介オープンソースNW監視ツールのご紹介
オープンソースNW監視ツールのご紹介OSSラボ株式会社
 
超簡単! JettyをWindowsにインストール
超簡単! JettyをWindowsにインストール超簡単! JettyをWindowsにインストール
超簡単! JettyをWindowsにインストールShin Tanigawa
 
RとSQLiteによるオミックス解析の促進
RとSQLiteによるオミックス解析の促進RとSQLiteによるオミックス解析の促進
RとSQLiteによるオミックス解析の促進弘毅 露崎
 
全社情報共有サイトへの Alfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会
全社情報共有サイトへのAlfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会全社情報共有サイトへのAlfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会
全社情報共有サイトへの Alfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会Ryota Watabe
 
0からわかるAlfresco
0からわかるAlfresco0からわかるAlfresco
0からわかるAlfrescoMoritakaSoma
 
超簡単!Apache httpサーバをWindows Serverにインストール
超簡単!Apache httpサーバをWindows Serverにインストール超簡単!Apache httpサーバをWindows Serverにインストール
超簡単!Apache httpサーバをWindows ServerにインストールShin Tanigawa
 
Alfresco勉強会#31 alfresco 5.0にウイルススキャン機能を実装してみる
Alfresco勉強会#31 alfresco 5.0にウイルススキャン機能を実装してみるAlfresco勉強会#31 alfresco 5.0にウイルススキャン機能を実装してみる
Alfresco勉強会#31 alfresco 5.0にウイルススキャン機能を実装してみるTasuku Otani
 
ZOZOTOWNで最大級のトラフィックを記録する福袋発売イベントで実施した負荷対策と、当日の監視体制について
ZOZOTOWNで最大級のトラフィックを記録する福袋発売イベントで実施した負荷対策と、当日の監視体制についてZOZOTOWNで最大級のトラフィックを記録する福袋発売イベントで実施した負荷対策と、当日の監視体制について
ZOZOTOWNで最大級のトラフィックを記録する福袋発売イベントで実施した負荷対策と、当日の監視体制についてMasaki Hirose
 
FMDBの利用方法
FMDBの利用方法FMDBの利用方法
FMDBの利用方法uske7i
 
Analyzing Oracle Database hang issues using various diagnostics.
Analyzing Oracle Database hang issues using various diagnostics.Analyzing Oracle Database hang issues using various diagnostics.
Analyzing Oracle Database hang issues using various diagnostics.Ryota Watabe
 
Alfresco Javascript Consoleのご紹介
Alfresco Javascript Consoleのご紹介Alfresco Javascript Consoleのご紹介
Alfresco Javascript Consoleのご紹介MoritakaSoma
 
Ansible quickstart
Ansible quickstartAnsible quickstart
Ansible quickstartHideki Saito
 

Was ist angesagt? (20)

Alfresco勉強会#15 alfresco 4をインストールしてみよう!
Alfresco勉強会#15 alfresco 4をインストールしてみよう!Alfresco勉強会#15 alfresco 4をインストールしてみよう!
Alfresco勉強会#15 alfresco 4をインストールしてみよう!
 
NMIS overview
NMIS overviewNMIS overview
NMIS overview
 
Alfresco ce 4.2の新機能
Alfresco ce 4.2の新機能Alfresco ce 4.2の新機能
Alfresco ce 4.2の新機能
 
Alfresco勉強会#26 alfresco community 5.0でssoを設定する
Alfresco勉強会#26 alfresco community 5.0でssoを設定するAlfresco勉強会#26 alfresco community 5.0でssoを設定する
Alfresco勉強会#26 alfresco community 5.0でssoを設定する
 
Ssl証明書を設定したらapacheが起動しない?
Ssl証明書を設定したらapacheが起動しない?Ssl証明書を設定したらapacheが起動しない?
Ssl証明書を設定したらapacheが起動しない?
 
OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」
OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」
OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」
 
超簡単!Apache TomcatをWindowsにインストール
超簡単!Apache TomcatをWindowsにインストール超簡単!Apache TomcatをWindowsにインストール
超簡単!Apache TomcatをWindowsにインストール
 
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
 
オープンソースNW監視ツールのご紹介
オープンソースNW監視ツールのご紹介オープンソースNW監視ツールのご紹介
オープンソースNW監視ツールのご紹介
 
超簡単! JettyをWindowsにインストール
超簡単! JettyをWindowsにインストール超簡単! JettyをWindowsにインストール
超簡単! JettyをWindowsにインストール
 
RとSQLiteによるオミックス解析の促進
RとSQLiteによるオミックス解析の促進RとSQLiteによるオミックス解析の促進
RとSQLiteによるオミックス解析の促進
 
全社情報共有サイトへの Alfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会
全社情報共有サイトへのAlfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会全社情報共有サイトへのAlfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会
全社情報共有サイトへの Alfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会
 
0からわかるAlfresco
0からわかるAlfresco0からわかるAlfresco
0からわかるAlfresco
 
超簡単!Apache httpサーバをWindows Serverにインストール
超簡単!Apache httpサーバをWindows Serverにインストール超簡単!Apache httpサーバをWindows Serverにインストール
超簡単!Apache httpサーバをWindows Serverにインストール
 
Alfresco勉強会#31 alfresco 5.0にウイルススキャン機能を実装してみる
Alfresco勉強会#31 alfresco 5.0にウイルススキャン機能を実装してみるAlfresco勉強会#31 alfresco 5.0にウイルススキャン機能を実装してみる
Alfresco勉強会#31 alfresco 5.0にウイルススキャン機能を実装してみる
 
ZOZOTOWNで最大級のトラフィックを記録する福袋発売イベントで実施した負荷対策と、当日の監視体制について
ZOZOTOWNで最大級のトラフィックを記録する福袋発売イベントで実施した負荷対策と、当日の監視体制についてZOZOTOWNで最大級のトラフィックを記録する福袋発売イベントで実施した負荷対策と、当日の監視体制について
ZOZOTOWNで最大級のトラフィックを記録する福袋発売イベントで実施した負荷対策と、当日の監視体制について
 
FMDBの利用方法
FMDBの利用方法FMDBの利用方法
FMDBの利用方法
 
Analyzing Oracle Database hang issues using various diagnostics.
Analyzing Oracle Database hang issues using various diagnostics.Analyzing Oracle Database hang issues using various diagnostics.
Analyzing Oracle Database hang issues using various diagnostics.
 
Alfresco Javascript Consoleのご紹介
Alfresco Javascript Consoleのご紹介Alfresco Javascript Consoleのご紹介
Alfresco Javascript Consoleのご紹介
 
Ansible quickstart
Ansible quickstartAnsible quickstart
Ansible quickstart
 

Andere mochten auch

20130801 alfresco study17customizemap
20130801 alfresco study17customizemap20130801 alfresco study17customizemap
20130801 alfresco study17customizemapTakeshi Totani
 
20130509 alfresco study15permission
20130509 alfresco study15permission20130509 alfresco study15permission
20130509 alfresco study15permissionTakeshi Totani
 
20140129 alfresco addons
20140129 alfresco addons20140129 alfresco addons
20140129 alfresco addonsTakeshi Totani
 
Alfresco onlineeditbywebdav 2013
Alfresco onlineeditbywebdav 2013Alfresco onlineeditbywebdav 2013
Alfresco onlineeditbywebdav 2013Takeshi Totani
 
第7回Alfresco勉強会資料 カスタムのオンライン編集
第7回Alfresco勉強会資料 カスタムのオンライン編集第7回Alfresco勉強会資料 カスタムのオンライン編集
第7回Alfresco勉強会資料 カスタムのオンライン編集Takeshi Totani
 
JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発
JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発
JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発Takeshi Totani
 
20130925 alfresco study18performancetuning
20130925 alfresco study18performancetuning20130925 alfresco study18performancetuning
20130925 alfresco study18performancetuningTakeshi Totani
 
Alfresco勉強会#25 ワークフロー入門
Alfresco勉強会#25 ワークフロー入門Alfresco勉強会#25 ワークフロー入門
Alfresco勉強会#25 ワークフロー入門Takeshi Totani
 
Alfresco勉強会#28 メタデータテンプレート
Alfresco勉強会#28 メタデータテンプレートAlfresco勉強会#28 メタデータテンプレート
Alfresco勉強会#28 メタデータテンプレートJun Terashita
 
Alfresco study32 introducing5.1
Alfresco study32 introducing5.1Alfresco study32 introducing5.1
Alfresco study32 introducing5.1Takeshi Totani
 
Alfresco study29 activitymonitoring
Alfresco study29 activitymonitoringAlfresco study29 activitymonitoring
Alfresco study29 activitymonitoringTakeshi Totani
 
Alfresco勉強会#33 Alfresco Solr Admin UI
Alfresco勉強会#33 Alfresco Solr Admin UIAlfresco勉強会#33 Alfresco Solr Admin UI
Alfresco勉強会#33 Alfresco Solr Admin UIJun Terashita
 
Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと
Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なことAlfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと
Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なことJun Terashita
 
Alfresco study37 alfresco_ng2_components
Alfresco study37 alfresco_ng2_componentsAlfresco study37 alfresco_ng2_components
Alfresco study37 alfresco_ng2_componentsTakeshi Totani
 
Alfresco勉強会#35 AlfrescoのアクティビティフィードをSlackに送るカスタマイズ
Alfresco勉強会#35 AlfrescoのアクティビティフィードをSlackに送るカスタマイズAlfresco勉強会#35 AlfrescoのアクティビティフィードをSlackに送るカスタマイズ
Alfresco勉強会#35 AlfrescoのアクティビティフィードをSlackに送るカスタマイズJun Terashita
 
Alfresco勉強会#28 alfresco 5.0の検索機能をみてみよう
Alfresco勉強会#28 alfresco 5.0の検索機能をみてみようAlfresco勉強会#28 alfresco 5.0の検索機能をみてみよう
Alfresco勉強会#28 alfresco 5.0の検索機能をみてみようTasuku Otani
 
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみたAlfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみたTasuku Otani
 
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようTasuku Otani
 
Alfresco Bulk Import toolのご紹介
Alfresco Bulk Import toolのご紹介Alfresco Bulk Import toolのご紹介
Alfresco Bulk Import toolのご紹介MoritakaSoma
 

Andere mochten auch (20)

20130801 alfresco study17customizemap
20130801 alfresco study17customizemap20130801 alfresco study17customizemap
20130801 alfresco study17customizemap
 
20130509 alfresco study15permission
20130509 alfresco study15permission20130509 alfresco study15permission
20130509 alfresco study15permission
 
20140129 alfresco addons
20140129 alfresco addons20140129 alfresco addons
20140129 alfresco addons
 
Alfresco onlineeditbywebdav 2013
Alfresco onlineeditbywebdav 2013Alfresco onlineeditbywebdav 2013
Alfresco onlineeditbywebdav 2013
 
第7回Alfresco勉強会資料 カスタムのオンライン編集
第7回Alfresco勉強会資料 カスタムのオンライン編集第7回Alfresco勉強会資料 カスタムのオンライン編集
第7回Alfresco勉強会資料 カスタムのオンライン編集
 
JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発
JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発
JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発
 
20130925 alfresco study18performancetuning
20130925 alfresco study18performancetuning20130925 alfresco study18performancetuning
20130925 alfresco study18performancetuning
 
Alfresco勉強会#25 ワークフロー入門
Alfresco勉強会#25 ワークフロー入門Alfresco勉強会#25 ワークフロー入門
Alfresco勉強会#25 ワークフロー入門
 
Alfresco勉強会#28 メタデータテンプレート
Alfresco勉強会#28 メタデータテンプレートAlfresco勉強会#28 メタデータテンプレート
Alfresco勉強会#28 メタデータテンプレート
 
Alfresco study32 introducing5.1
Alfresco study32 introducing5.1Alfresco study32 introducing5.1
Alfresco study32 introducing5.1
 
Alfresco study29 activitymonitoring
Alfresco study29 activitymonitoringAlfresco study29 activitymonitoring
Alfresco study29 activitymonitoring
 
Alfresco勉強会#33 Alfresco Solr Admin UI
Alfresco勉強会#33 Alfresco Solr Admin UIAlfresco勉強会#33 Alfresco Solr Admin UI
Alfresco勉強会#33 Alfresco Solr Admin UI
 
Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと
Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なことAlfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと
Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと
 
【第1.5回勉強会】後編 alfrescoの基本操作
【第1.5回勉強会】後編 alfrescoの基本操作【第1.5回勉強会】後編 alfrescoの基本操作
【第1.5回勉強会】後編 alfrescoの基本操作
 
Alfresco study37 alfresco_ng2_components
Alfresco study37 alfresco_ng2_componentsAlfresco study37 alfresco_ng2_components
Alfresco study37 alfresco_ng2_components
 
Alfresco勉強会#35 AlfrescoのアクティビティフィードをSlackに送るカスタマイズ
Alfresco勉強会#35 AlfrescoのアクティビティフィードをSlackに送るカスタマイズAlfresco勉強会#35 AlfrescoのアクティビティフィードをSlackに送るカスタマイズ
Alfresco勉強会#35 AlfrescoのアクティビティフィードをSlackに送るカスタマイズ
 
Alfresco勉強会#28 alfresco 5.0の検索機能をみてみよう
Alfresco勉強会#28 alfresco 5.0の検索機能をみてみようAlfresco勉強会#28 alfresco 5.0の検索機能をみてみよう
Alfresco勉強会#28 alfresco 5.0の検索機能をみてみよう
 
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみたAlfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
 
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
 
Alfresco Bulk Import toolのご紹介
Alfresco Bulk Import toolのご紹介Alfresco Bulk Import toolのご紹介
Alfresco Bulk Import toolのご紹介
 

Ähnlich wie AlfrescoとSolr(後編)

Reladomo in Scala #scala_ks
Reladomo in Scala #scala_ks Reladomo in Scala #scala_ks
Reladomo in Scala #scala_ks Hiroshi Ito
 
Rails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3editionRails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3editionSatomi Tsujita
 
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) Hironobu Isoda
 
activerecord-oracle_enhanced-adapterのご紹介
activerecord-oracle_enhanced-adapterのご紹介activerecord-oracle_enhanced-adapterのご紹介
activerecord-oracle_enhanced-adapterのご紹介Kevin Toyoda
 
イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情takezoe
 
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップYasuhito Yabe
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Daisuke Hiraoka
 
徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925Yu Ito
 
Firefox5+HTML5×5
Firefox5+HTML5×5Firefox5+HTML5×5
Firefox5+HTML5×5dynamis
 
elasticsearchプラグイン入門
elasticsearchプラグイン入門elasticsearchプラグイン入門
elasticsearchプラグイン入門Shinsuke Sugaya
 
React Native GUIDE
React Native GUIDEReact Native GUIDE
React Native GUIDEdcubeio
 
はじめよう Backbone.js
はじめよう Backbone.jsはじめよう Backbone.js
はじめよう Backbone.jsHiroki Toyokawa
 
Hive undocumented feature
Hive undocumented featureHive undocumented feature
Hive undocumented featuretamtam180
 
jQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & TipsjQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & Tipsyoshikawa_t
 
CRF を使った Web 本文抽出 for WebDB Forum 2011
CRF を使った Web 本文抽出 for WebDB Forum 2011CRF を使った Web 本文抽出 for WebDB Forum 2011
CRF を使った Web 本文抽出 for WebDB Forum 2011Shuyo Nakatani
 
Magento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for DesignMagento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for DesignMiho Nakano
 
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜Sotaro Omura
 

Ähnlich wie AlfrescoとSolr(後編) (20)

Reladomo in Scala #scala_ks
Reladomo in Scala #scala_ks Reladomo in Scala #scala_ks
Reladomo in Scala #scala_ks
 
Rails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3editionRails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3edition
 
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
 
activerecord-oracle_enhanced-adapterのご紹介
activerecord-oracle_enhanced-adapterのご紹介activerecord-oracle_enhanced-adapterのご紹介
activerecord-oracle_enhanced-adapterのご紹介
 
イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情
 
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
 
徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925
 
Silex入門
Silex入門Silex入門
Silex入門
 
Heroku java
Heroku javaHeroku java
Heroku java
 
scala-kaigi1-sbt
scala-kaigi1-sbtscala-kaigi1-sbt
scala-kaigi1-sbt
 
Firefox5+HTML5×5
Firefox5+HTML5×5Firefox5+HTML5×5
Firefox5+HTML5×5
 
elasticsearchプラグイン入門
elasticsearchプラグイン入門elasticsearchプラグイン入門
elasticsearchプラグイン入門
 
React Native GUIDE
React Native GUIDEReact Native GUIDE
React Native GUIDE
 
はじめよう Backbone.js
はじめよう Backbone.jsはじめよう Backbone.js
はじめよう Backbone.js
 
Hive undocumented feature
Hive undocumented featureHive undocumented feature
Hive undocumented feature
 
jQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & TipsjQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & Tips
 
CRF を使った Web 本文抽出 for WebDB Forum 2011
CRF を使った Web 本文抽出 for WebDB Forum 2011CRF を使った Web 本文抽出 for WebDB Forum 2011
CRF を使った Web 本文抽出 for WebDB Forum 2011
 
Magento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for DesignMagento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for Design
 
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
 

Mehr von Ashitaba YOSHIOKA

メタプログラミングRuby勉強会#7(fluentプラグイン)
メタプログラミングRuby勉強会#7(fluentプラグイン)メタプログラミングRuby勉強会#7(fluentプラグイン)
メタプログラミングRuby勉強会#7(fluentプラグイン)Ashitaba YOSHIOKA
 
AWSを利用した開発者・データを扱う人向けの資料
AWSを利用した開発者・データを扱う人向けの資料AWSを利用した開発者・データを扱う人向けの資料
AWSを利用した開発者・データを扱う人向けの資料Ashitaba YOSHIOKA
 
メタプログラミングRuby勉強会#5
メタプログラミングRuby勉強会#5メタプログラミングRuby勉強会#5
メタプログラミングRuby勉強会#5Ashitaba YOSHIOKA
 
メタプログラミングRuby勉強会#4
メタプログラミングRuby勉強会#4メタプログラミングRuby勉強会#4
メタプログラミングRuby勉強会#4Ashitaba YOSHIOKA
 
PolicyとItem (CMIS輪読会#3)
PolicyとItem (CMIS輪読会#3)PolicyとItem (CMIS輪読会#3)
PolicyとItem (CMIS輪読会#3)Ashitaba YOSHIOKA
 
今さら始めるCoffeeScript
今さら始めるCoffeeScript今さら始めるCoffeeScript
今さら始めるCoffeeScriptAshitaba YOSHIOKA
 
Alfrescoクラスタリング入門
Alfrescoクラスタリング入門Alfrescoクラスタリング入門
Alfrescoクラスタリング入門Ashitaba YOSHIOKA
 
今さら始めるJavaScript
今さら始めるJavaScript今さら始めるJavaScript
今さら始めるJavaScriptAshitaba YOSHIOKA
 
Alfresco Java Foundation API
Alfresco Java Foundation APIAlfresco Java Foundation API
Alfresco Java Foundation APIAshitaba YOSHIOKA
 
Alfresco and Web Script (English)
Alfresco and Web Script (English)Alfresco and Web Script (English)
Alfresco and Web Script (English)Ashitaba YOSHIOKA
 
Alfresco SDKとカスタムアクション
Alfresco SDKとカスタムアクションAlfresco SDKとカスタムアクション
Alfresco SDKとカスタムアクションAshitaba YOSHIOKA
 
Alfrescoのインストールと設定
Alfrescoのインストールと設定Alfrescoのインストールと設定
Alfrescoのインストールと設定Ashitaba YOSHIOKA
 

Mehr von Ashitaba YOSHIOKA (19)

メタプログラミングRuby勉強会#7(fluentプラグイン)
メタプログラミングRuby勉強会#7(fluentプラグイン)メタプログラミングRuby勉強会#7(fluentプラグイン)
メタプログラミングRuby勉強会#7(fluentプラグイン)
 
AWSを利用した開発者・データを扱う人向けの資料
AWSを利用した開発者・データを扱う人向けの資料AWSを利用した開発者・データを扱う人向けの資料
AWSを利用した開発者・データを扱う人向けの資料
 
メタプログラミングRuby勉強会#5
メタプログラミングRuby勉強会#5メタプログラミングRuby勉強会#5
メタプログラミングRuby勉強会#5
 
メタプログラミングRuby勉強会#4
メタプログラミングRuby勉強会#4メタプログラミングRuby勉強会#4
メタプログラミングRuby勉強会#4
 
千年繁栄する法
千年繁栄する法千年繁栄する法
千年繁栄する法
 
もくもく会について
もくもく会についてもくもく会について
もくもく会について
 
PolicyとItem (CMIS輪読会#3)
PolicyとItem (CMIS輪読会#3)PolicyとItem (CMIS輪読会#3)
PolicyとItem (CMIS輪読会#3)
 
Alfresco Google Docs連携
Alfresco Google Docs連携Alfresco Google Docs連携
Alfresco Google Docs連携
 
今さら始めるCoffeeScript
今さら始めるCoffeeScript今さら始めるCoffeeScript
今さら始めるCoffeeScript
 
Alfrescoクラスタリング入門
Alfrescoクラスタリング入門Alfrescoクラスタリング入門
Alfrescoクラスタリング入門
 
今さら始めるJavaScript
今さら始めるJavaScript今さら始めるJavaScript
今さら始めるJavaScript
 
Alfresco CI
Alfresco CIAlfresco CI
Alfresco CI
 
Alfresco JP Site
Alfresco JP SiteAlfresco JP Site
Alfresco JP Site
 
AlfrescoとActiveCMIS
AlfrescoとActiveCMISAlfrescoとActiveCMIS
AlfrescoとActiveCMIS
 
Alfresco Java Foundation API
Alfresco Java Foundation APIAlfresco Java Foundation API
Alfresco Java Foundation API
 
Alfresco and Web Script (English)
Alfresco and Web Script (English)Alfresco and Web Script (English)
Alfresco and Web Script (English)
 
AlfrescoとWeb Script
AlfrescoとWeb ScriptAlfrescoとWeb Script
AlfrescoとWeb Script
 
Alfresco SDKとカスタムアクション
Alfresco SDKとカスタムアクションAlfresco SDKとカスタムアクション
Alfresco SDKとカスタムアクション
 
Alfrescoのインストールと設定
Alfrescoのインストールと設定Alfrescoのインストールと設定
Alfrescoのインストールと設定
 

AlfrescoとSolr(後編)

  • 1. AlfrescoとSolr(後編) - Alfresco勉強会 第12回 - 2012/12/12 @mryoshio Copyright 2012 tachibanakikaku.com. All rights reserved.
  • 2. 目次 ‣ 自己紹介 ‣ 前回のおさらい ‣ ソースコード解説 ‣ おわりに
  • 3. 自己紹介 ‣ mryoshio → A社の社員 → AlfrescoやLiferayのコンサルタント → ソースコードを読んだりカスタマイズしたりサポートしたり → Twitterとか色々なところにいます → もう少しPythonで遊びたいと思いつつできてない → 最近はこたつに入って仕事してます
  • 5. AlfrescoとSolr ‣ Alfrescoとは → 英Alfresco社が提供するオープンソースソフトウェア。企業規模のコンテンツ 管理を行える。それ以外に,Webコンテンツ管理やコラボレーションを低コ ストで行える ‣ Solrとは → Apache Luceneプロジェクトから派生した人気のある検索プラットフォー ム。ヒット部分のハイライト,ファセットサーチなど豊富な機能がある。ス ケーラブルで分散した検索やインデクスレプリケーションも可能
  • 10. Alfresco側 ‣ SolrSearchService → 前回やった ‣ SolrQueryHTTPClient → 前回やった ‣ Alfresco Solr Pluginでのインデクシングに 必要な情報を渡すWeb Script → ここから
  • 11. Web Script ‣ Alfresco Solr PluginへAlfrescoの情報を渡す → webapps/alfresco/WEB-INF/classes/alfresco/templates/ webscripts/org/alfresco/repository/solr/に設定ファイル群が存在 aclChangeSets,acls,aclsReaders model,modelsdiff nodeContent,nodes,nodesMetaData transactions
  • 12. Javaクラスの指定 ‣ 各Web Scriptで利用するJavaクラスの指定 → webapps/alfresco/WEB-INF/classes/alfresco/web-scripts- application-context.xml L.1431辺り <!-- --> <!-- SOLR --> <!-- --> <!-- --> <bean id="solrSerializer" class="org.alfresco.repo.web.scripts.solr.SOLRSerializer" init-method="init"> <property name="dictionaryService" ref="dictionaryService"/> <property name="namespaceService" ref="namespaceService"/> </bean> <bean id="webscript.org.alfresco.repository.solr.aclChangeSets.get" class="org.alfresco.repo.web.scripts.solr.AclChangeSetsGet" parent="webscript"> <property name="solrTrackingComponent" ref="solrTrackingComponent"/> </bean> (後略)
  • 13. aclChangeSets ‣ 利用ファイル群 → aclChangeSets.get.desc.xml(Web Script description) → aclChangeSets.get.json.ftl(FreeMarker Template) → org.alfresco.repo.web.scripts.solr.AclChangeSetsGet(Java) ‣ 目的 → 特定時間以後のACL変更(List<AclChangeSet>)を取得する ‣ 引数 → fromId,fromTime,maxResults(desc.xml) → toId,toTime(隠しパラメータ)
  • 14. aclChangeSets(Call Tree) ‣ L.63 AclChangeSetsGet#executeImpl → L.157 SOLRTrackingComponentImpl#getAclChangeSets → L.88 SOLRDAOImpl#getAclChangeSets この後,iBatis経由でDBから値を取得 ‣ solr-common-SqlMap.xml → select_ChangeSets_Summary 返り値がAclChangeSetに格納される
  • 15. acls ‣ 利用ファイル群 → acls.post.desc.xml(Web Script description) → acls.post.json.ftl(FreeMarker Template) → org.alfresco.repo.web.scripts.solr.AclsGet(Java) ‣ 目的 → 与えられたACL変更に対応するACLを取得する ‣ 引数 → fromId,maxResults(desc.xml)
  • 16. acls(Call Tree) ‣ L.60 AclsGet#executeImpl → L.113 #buildModel → L.171 SOLRTrackingComponentImpl#getAcls → L.115 SOLRDAOImpl#getAcls この後、iBatis経由でDBから値を取得 ‣ solr-common-SqlMap.xml → select_AclsByChangeSetIds 返り値がAclに格納される
  • 17. aclsReaders ‣ 利用ファイル群 → aclsReaders.post.desc.xml(Web Script description) → aclsReaders.post.json.ftl(FreeMarker Template) → org.alfresco.repo.web.scripts.solr.AclsReadersGet(Java) ‣ 目的 → 与えられたACLのreaderを取得する ‣ 引数
  • 18. aclsReaders(Call Tree) ‣ L.60 AclsReadersGet#executeImpl → L.107 #buildModel → L.199 SOLRTrackingComponentImpl#getAclsReaders → L.1066 AclDAOImpl#getAccessControlList → #getAccessControlListImpl return AccessControlList
  • 19. model ‣ 利用ファイル群 → model.get.desc.xml(Web Script description) → org.alfresco.repo.web.scripts.solr.AlfrescoModelGet(Java) ‣ 目的 → 与えられた名称のモデルを取得する ‣ 引数 → modelQName(隠しパラメータ)
  • 20. model(Call Tree) ‣ L.46 AlfrescoModelGet#execute → L.70 #handle → L.746 SOLRTrackingComponentImpl#getModel → L.75 DictionaryComponent#getModel → L.871 DictionaryDAOImpl#getModel → #getCompiledModel return CompiledModel
  • 21. modelsdiff ‣ 利用ファイル群 → modelsdiff.post.desc.xml(Web Script description) → modelsdiff.post.json.ftl(FreeMarker Template) → org.alfresco.repo.web.scripts.solr.AlfrescoModelsDiff(Java) ‣ 目的 → 与えられたモデルの差分を取得する ‣ 引数 → models(JSONArray,隠しパラメータ)
  • 22. modelsdiff(Call Tree) ‣ L.42 AlfrescoModelsDiff#executeImpl → L.77 #buildModel → L.768 SOLRTrackingComponentImpl#getModelDiffs → L.67 DictionaryComponent#getAllModels → L.791 DictionaryDAOImpl#getModels → #getCompiledModels
  • 23. nodeContent ‣ 利用ファイル群 → nodeContent.get.desc.xml(Web Script description) → org.alfresco.repo.web.scripts.solr.NodeContentGet(Java) ‣ 目的 → 与えられたノード属性の値をテキストで取得する ‣ 引数 → nodeId,propertyQName(desc.xml)
  • 24. nodeContent(Call Tree) ‣ L.202 NodeContentGet#execute → StreamContent#streamContentImpl ストリームとしてレスポンスをクライアントへ返す
  • 25. nodes ‣ 利用ファイル群 → nodes.post.desc.xml(Web Script description) → nodes.post.json.ftl(FreeMarker Template) → org.alfresco.repo.web.scripts.solr.NodesGet(Java) ‣ 目的 → トランザクション内で更新/削除されたノードを取得する ‣ 引数 → txnIds,fromTxnId,toTxnId,fromNodeId,toNodeId → excludeAspects,includeAspectsなど(全て隠しパラメータ)
  • 26. nodes(Call Tree) ‣ L.183 NodesGet#executeImpl → L.296 SOLRTrackingComponentImpl#getNodes → L.149/L.155 SOLRDAOImpl#getNodes この後、iBatis経由でDBから値を取得 ‣ solr-common-SqlMap.xml → select_Txn_Nodes 返り値がNodeに格納される
  • 27. nodesMetaData ‣ 利用ファイル群 → nodesMetaData.post.desc.xml(Web Script description) → nodesMetaData.post.json.ftl(FreeMarker Template) → org.alfresco.repo.web.scripts.solr.NodesMetaDataGet(Java) ‣ 目的 → 与えられたノードのメタデータを取得する ‣ 引数 → nodeIds,fromNodeId,toNodeId,maxResults → includeAclId,includeAspectsなど(全て隠しパラメータ)
  • 28. nodesMetaData(Call Tree) ‣ L.181 NodesMetaDataGet#executeImpl → L.735 SOLRTrackingComponentImpl#getNodesMetadata → NodeMetaDataQueryRowHandler#processResult callbackを使って最終的にMetaDataを取得
  • 29. transactions ‣ 利用ファイル群 → transactions.get.desc.xml(Web Script description) → transactions.get.json.ftl(FreeMarker Template) → org.alfresco.repo.web.scripts.solr.TransactionsGet(Java) ‣ 目的 → 与えられた時間に含まれるトランザクションを取得する ‣ 引数 → fromTxnId,fromCommitTime,maxResults(desc.xml) → minTxnId,maxTxnId,toCommitTime(隠しパラメータ)
  • 30. transactions(Call Tree) ‣ L.68 TransactionsGet#executeImpl → L.280 SOLRTrackingComponentImpl#getTransactions → L.136 SOLRDAOImpl#getTransactions この後、iBatis経由でDBから値を取得 ‣ solr-common-SqlMap.xml → select_Txns return Transaction
  • 32. 参考 ‣ ソースコード関連 → https://wiki.alfresco.com/wiki/ Alfresco_SVN_Development_Environment → http://wiki.alfresco.com/wiki/Source_Code
  • 33. Copyright 2012 tachibanakikaku.com. All rights reserved.