null コンテンツのライフサイクル(1)〜コンテンツ作成〜

こんにちは。たなかです。

今回はAlfresco上にコンテンツが作成されてから、コンテンツを削除し完全に消えるまでのコンテンツのライフサイクルについてご紹介します。
使用しているバージョンは201911GAです。

コンテンツのライフサイクルの流れは以下のようになっています。

  1. コンテンツの作成
  2. ごみ箱に入れる(コンテンツの削除)
  3. ごみ箱から削除
  4. ファイルシステムのクリーニング
  5. 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

以下のテーブルを順に辿っていくとファイルの実体パスを確認することができます。

  1. alf_node
  2. alf_node_properties
  3. alf_content_data
  4. 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>


今回は作成したコンテンツの情報確認までを行いました。
次回はごみ箱に入れる(コンテンツの削除)についてご紹介したいと思います。

関連記事
feature
feature

RANKING
2020.10.12
2020.11.19
2020.12.23
2020.10.05
2020.11.25