コンテンツのライフサイクル(1)〜コンテンツ作成〜 - コンテンツのライフサイクル(1)〜コンテンツ作成〜 - aegif Labo Blog Alfresco
null コンテンツのライフサイクル(1)〜コンテンツ作成〜
機能
2021.01.22
こんにちは。たなかです。
今回はAlfresco上にコンテンツが作成されてから、コンテンツを削除し完全に消えるまでのコンテンツのライフサイクルについてご紹介します。
使用しているバージョンは201911GAです。
コンテンツのライフサイクルの流れは以下のようになっています。
- コンテンツの作成
- ごみ箱に入れる(コンテンツの削除)
- ごみ箱から削除
- ファイルシステムのクリーニング
- DBのクリーニング
では、実際に試してみたいと思います。
まずはコンテンツの作成を行います。(今回は共有ファイル直下にファイルを作成)
作成したら管理ツールのノードブラウザでプロパティを確認します。
- sys:node-uuId:UUID
- sys:store-protocol:ストア
- cm:content:ファイル実体のパス
- sys:node-dbId:DBID
これらの情報を元にファイルシステムやDBのデータを確認していきたいと思います。
ファイルシステム
<install_dir>/alf_data/contentstore/に日時で区切られたフォルダが作成され、リネームされたファイルの実体が格納されます。
(※ リネーム後のファイル名とノードのUUIDは別であることに注意)
[root@localhost alfresco]# ll alf_data/contentstore/2020/12/15/14/7/
合計 4
-rw-r-----. 1 root root 480 12月 15 14:07 39b20a27-8d72-41a9-8016-0838e9c36eea.bin
DB
以下のテーブルを順に辿っていくとファイルの実体パスを確認することができます。
- alf_node
- alf_node_properties
- alf_content_data
- alf_content_url
- ノードのUUIDでalf_nodeテーブルの情報を確認
SELECT id, store_id, uuid, type_qname_id FROM alf_node WHERE uuid='68a525c1-20f8-46ef-b62b-7422337384e3';
id | store_id | uuid | type_qname_id ------+---------+--------------------------------------+---------------- 1002 | 6 | 68a525c1-20f8-46ef-b62b-7422337384e3 | 51
- alf_nodeテーブルで確認したnode_idでalf_node_propertiesテーブルの情報を確認
SELECT node_id, long_value, string_value, qname_id FROM alf_node_properties WHERE node_id='1002';
node_id | long_value | string_value | qname_id ---------+------------+---------------------------+----------- 1002 | 0 | pdf:1608008896505 | 138 1002 | 0 | | 28 1002 | 0 | | 27 1002 | 0 | | 52 1002 | 341 | | 51 1002 | 0 | contentsLifecycleTest.txt | 26
qname_idについてはalf_qnameテーブルで確認することができますが、今回は割愛します。
- alf_node_propertiesテーブルで確認したqname_idが51(cm:content)のレコードのlong_valueでalf_content_dataテーブルの情報を確認
SELECT id, content_url_id FROM alf_content_data WHERE id='341';
id | content_url_id -----+----------------- 341 | 334
- alf_content_dataテーブルで確認したcontent_url_idでalf_content_urlテーブルの情報を確認
SELECT id, content_url, orphan_time FROM alf_content_url WHERE id='334';
id | content_url | orphan_time -----+------------------------------------------------------------------+------------- 334 | store://2020/12/15/14/7/39b20a27-8d72-41a9-8016-0838e9c36eea.bin |
alf_content_dataテーブルのcontent_urlでファイルの実体パスを確認することができます。
検索インデックス
ノードブラウザ で確認したDBIDを使って以下のURLにアクセスすることでインデックス作成ステータスを持つIDのノードレポートを取得することができます。
http://localhost:8983/solr/admin/cores?action=nodeReport&nodeid=(DBID)
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">257</int>
</lst>
<lst name="report">
-<lst name="alfresco">
<long name="Node DBID">1002</long>
<long name="DB TX">150</long>
<str name="DB TX status">UPDATED</str>
<long name="Indexed Node Doc Count">1</long>
</lst>
<lst name="archive">
<long name="Node DBID">1002</long>
<long name="DB TX">150</long>
<str name="DB TX status">UPDATED</str>
<long name="Indexed Node Doc Count">0</long>
</lst>
</lst>
</response>
今回は作成したコンテンツの情報確認までを行いました。
次回はごみ箱に入れる(コンテンツの削除)についてご紹介したいと思います。
RANKING
2020.10.12
2020.11.19
2020.12.23
2020.10.05
2020.11.25
Alfresco Community Editionでクラスタリングする方法の準備編です。
Linux上のプロセスが突然死んだ場合、OOM Killerによって殺された可能性があります。本記事ではOOM
Killerによるプロセス停止の確認方法とプロセス停止の回避方法を紹介します。
Alfrescoのdocker composeでデータをボリュームに永続化する方法を紹介します。
Alfresco Community Editionでクラスタリングする方法を3回に分けてご紹介します。
Alfrescoの監査証跡機能に標準で用意されている設定を有効化した場合に、どのような操作に対してどのような情報が記録されるのか簡単にご紹介します。