インポート / 転送ツール

インポート/ 転送ツール

一括インポートツールを使用してファイルをインポートする方法と、ファイルシステム転送レシーバー(FSTR)を使用してファイルを転送する方法について説明します。

一括インポートツールを使用すると、システム管理者は、既存のコンテンツを Alfresco サーバーのファイルシステムからリポジトリに一括でインポートすることができます。

既存のコンテンツアイテムが既にリポジトリに存在する場合は(必要に応じて)既存のコンテンツアイテムを置き換えますが、削除は行いません。このツールは、リポジトリとローカルファイルシステムを完全に同期させるようには設計されていません。

リポジトリの中では、ディスク上の基本的なファイル/フォルダ構造が維持されます。取り込まれるファイルやスペースのメタデータや、ファイルのバージョン履歴(各バージョンはコンテンツかメタデータ、またはその両方から構成されます)を読み込むことができます。

2つのインポートタイプ

一括インポートには2つのタイプがあります。

  • ストリーミングインポート:ソースコンテンツをリポジトリのコンテンツストアにコピーします。

  • インプレースインポート:Enterprise 版でのみ利用できます。一連のファイルはリポジトリのコンテンツストア内に既に存在することが前提となるため、コピーは必要ありません。これにより、パフォーマンスを大幅に向上させることができます。

制約事項

次に示す制約があります。

  • 一度に実行できる一括インポートは1つだけです。この制約は、JobLockServiceによって実施されています。

  • 一括インポートツールにアクセスできるのは Content Services 管理者のみです。

  • インポートされるファイルの名前の長さは255文字までとなっています。この制限は、ほとんどのファイルシステムで採用されている文字数制限を反映したものとなっています。

インプレース一括インポート

インプレース一括インポートは、リポジトリのコンテンツストア内に既に存在するファイルをインポートする機能です。コピーの必要がないため、パフォーマンスを大幅に向上させることができます。

3つの前提条件

in-place(インプレース)によるコンテンツのインポートには、3つの前提条件があります。

  1. インポート前に、リポジトリ内の初期の場所にコンテンツが既に存在していること。インポート中にコンテンツが移動することはありません。

  2. 次のいずれかによって定義される登録済みコンテンツストアのツリー構造内に、インプレースコンテンツが存在していること。
    ・デフォルトの fileContentStore
    ・コンテンツストアセレクタで定義されたファイルシステムベースのストア

  3. インポート前に、コンテンツ構造が適切に分散されるような措置があらかじめ講じられていること。
    ・デフォルトの fileContentStore は、インポート日(年/月/日/時/分)に基づいてコンテンツを分散します。同じルート配下に数千個のファイルが集中すると、ファイルシステムに対しても、Content Services における親関連付けの計算などを行ううえでも効率が悪くなります。この方法でコンテンツを分散させることで、このような状況を回避することができます。
    ・直下の「子」は最大でも数千個程度にとどめておくことをお勧めします。
    ・m 個のファイルを n 個のリーフフォルダにランダムに分散する場合、m >> n log nの場合、リーフフォルダ1個あたりの統計的最大負荷は m/n + O(sqrt((m log n)/n))であることを念頭に置くことで、効率的な分散スキームを選択できます。

また、インプレース一括インポートは、コンテンツストアの管理をサポートしています。これにより、インポート後のコンテンツの移動先となるストアを選択できます。

ファイルシステムを準備する

一括インポートを行う前に、ファイルシステムの準備のために行わなければならない作業がいくつかあります。

メタデータファイル

一括インポートツールは、メタデータ(タイプ、アスペクト、およびそのプロパティ)をリポジトリに読み込む機能を備えています。この機能では、Unicode 文字のサポートが充実している XML 形式のシャドウ Java プロパティファイルを使用します。これらのメタデータを記述するシャドウプロパティファイルは、その基となるファイルと全く同じ名前と拡張子を持ち、末尾を.metadata.properties.xmlとする必要があります。たとえば、IMG_1967.jpgという名前のファイルがある場合、そのシャドウメタデータファイルの名前はIMG_1967.jpg.metadata.properties.xmlになります。
これらのシャドウファイルは、ディレクトリにも使用することができます。たとえば、MyDocuments という名前のディレクトリがある場合、そのシャドウメタデータファイルの名前はMyDocuments.metadata.properties.xmlになります。
メタデータファイル自体は、Java の XML プロパティファイルの通常の構文に従います。

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <entry key="key1">value1</entry> <entry key="key2">value2</entry> ... </properties>

特殊キーが2つあります。

  • Type には、ファイルまたはフォルダに使用されるコンテンツタイプの修飾名が含まれます。

  • Aspects には、ファイルまたはフォルダに添付するアスペクトの修飾名のコンマ区切りリストが含まれます。

ファイル内の残りのエントリはメタデータプロパティとして扱われ、キーはプロパティの修飾名、値はそのプロパティの値となります。複数値のプロパティはコンマで区切られます。ただし、これらの値はトリミングされないので、プロパティの値にスペースを含めたい場合を除き、コンマの前後にスペース文字を入れないことをお勧めします。
以下に、IMG_1967.jpg.metadata.properties.xmlを使った例を示します。

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <entry key="type">cm:content</entry> <entry key="aspects">cm:versionable,cm:dublincore</entry> <entry key="cm:title">A photo of a flower.</entry> <entry key="cm:description">A photo I took of a flower while walking around Bantry Bay.</entry> <entry key="cm:created">1901-01-01T12:34:56.789+10:00</entry> <!-- cm:dublincore properties --> <entry key="cm:author">Peter Monks</entry> <entry key="cm:publisher">Peter Monks</entry> <entry key="cm:contributor">Peter Monks</entry> <entry key="cm:type">Photograph</entry> <entry key="cm:identifier">IMG_1967.jpg</entry> <entry key="cm:dcsource">Canon Powershot G2</entry> <entry key="cm:coverage">Worldwide</entry> <entry key="cm:rights">Copyright (c) Peter Monks 2002, All Rights Reserved</entry> <entry key="cm:subject">A photo of a flower.</entry> </properties>

 

メタデータの読み込みに関する補足説明

メタデータのみに基づいて新しいノードを作成することはできません。メタデータを読み込むには、コンテンツファイル(0バイトでも可)が必要です。ただし、リポジトリ内の既存のノードを、メタデータのみを使用して「置き換える」ことは可能です。「置き換える」とは言っても、実際にコンテンツが置き換えられるわけではなく、新しいメタデータが追加されるだけです。

  • メタデータは、Content Services で設定されたタイプおよびアスペクトの定義(必須フィールド、制約、データタイプを含む)に準拠する必要があります。違反した場合、一括インポートプロセスは終了します。

  • 一括インポートツールで読み込まれたコンテンツアイテム間の関連付けについては、まだ十分に対応できていません。既にリポジトリに存在するオブジェクトへの関連付けは、対象オブジェクトの NodeRef をプロパティの値として使用することで作成できます。

  • 文字列以外のデータ型(数値型、日付型を含む)については、まだ十分に検証されていません。日付の値については検証済みで、ISO 8601 形式で指定されていれば正常に動作することが確認されています。

  • 既存のコンテンツのアスペクトやメタデータを更新しても、新しいメタデータファイル内で一覧表示されていない既存のアスペクトが削除されることはありません。このツールは、ファイルシステムと完全な同期を取るメカニズムを提供することを意図していません。

  • メタデータ読み込み機能は、既にリポジトリ内にあるコンテンツを、再度アップロードすることなく補完するために利用できる機能です。この機能を利用するには、対象となるコンテンツファイルと同じパスに「ネイキッド」メタデータファイルを作成します。一括インポートツールによって、そのネイキッドメタデータファイルとリポジトリ内のファイルの照合が行われ、そのファイルに新しいアスペクト(複数可)やメタデータが追加されます。

バージョン履歴ファイル

インポートツールは、各ファイルのバージョン履歴の読み込みにも対応しています。この機能を使用するには、メインファイルと同じ名前のファイルを作成し、拡張子として v# を付加します。以下がその例です。

IMG_1967.jpg.v1 <- version 1 content IMG_1967.jpg.v2 <- version 2 content IMG_1967.jpg <- "head" (latest) revision of the content

メタデータファイルについても同様で、メタデータ履歴の読み込みにも対応しています。以下がその例です。

バージョン履歴の読み込みに関する補足説明

  • バージョン履歴のみに基づいて新しいノードを作成することはできません。HEAD(最新)リビジョンのファイルが必要です。

  • バージョン番号は連続していなくてもかまいません。バージョンファイルには任意の番号を付けることができますが、整数を使用する必要があります。

  • バージョンファイル内のバージョン番号は、Content Services では使用されません。Content Services のバージョン番号は、1.0から始まり、バージョンごとに1.0ずつ増えていく連続した番号(1.0、2.0、3.0...)になります。Content Services では、バージョンラベルに任意の値を設定することはできません。また、一括インポートでは、ある特定のバージョンの番号について、メジャーバージョンまたはマイナーバージョンで数字を増やすかどうかを指定する方法は提供されていません。

  • 各バージョンには、コンテンツの更新、メタデータの更新、またはその両方を含めることができます。バージョンアップのたびにすべてを更新する必要はありません。コンテンツやメタデータをバージョンに含めなければ、前のバージョンのコンテンツやメタデータは次のバージョンでも保持されます。

次の例は、コンテンツ、メタデータ、バージョンファイルの可能な組み合わせをすべて示しています。

一括インポートツールによるインポート

一括インポートは、ユーザーインターフェイスまたはプログラムを使用して実行できます。

一括インポートには、Content Services の Web スクリプトを使用します。一括インポートをコーディングする場合は、提供されているコード例を参考にしてください。いずれの場合も、参照テーブルを使用して、正常なインポートを行うために必要なフィールドおよびデータを判断できます。

一括インポートに何らかの問題が発生し、トラブルシューティングや診断が必要となった場合は、ログを有効にすることができます。一括インポートツールのデバッグを有効にするには、デプロイ前にlog4j.propertiesファイルに次のコマンドを追加します。

デバッグステートメントは INFO レベル以上に設定します。

また、インポート中のトランザクション関連の問題を特定したい場合は、トランザクションハンドラのログを有効にします。

Log4j の詳細については、log4j.properties file(https://docs.alfresco.com/content-services/7.1/develop/extension-packaging/#log4jpropsfile )を参照してください。

 

ユーザーインターフェイスによる一括インポート

2つのタイプの一括インポート機能(ストリーミングとインプレース)には、Web スクリプトによって実装されたユーザーインターフェイスが備わっています。

ストリーミング一括インポートは、2つの Web スクリプトで公開されています。

1.シンプルな UI Web スクリプト。インポート用のパラメータを設定するのに使用できます。これは、次のパスを持つ HTTP GET の Web スクリプトとなります。

http://localhost:8080/alfresco/service/bulkfsimport

2.Web スクリプト。渡されたパラメータ(ソースディレクトリ、ターゲットスペースなどのパラメータ)を使用してインポートを開始します。スクリプトを作成したり、プログラムでツールを呼び出したりする場合は、この Web スクリプトを呼び出します。これは、次のパスを持つ HTTP POST の Web スクリプトとなります。

http://localhost:8080/alfresco/service/bulkfsimport/initiate

UI Web スクリプトは、次のような簡易化された HTML フォームを表示します。

  • Import directory は必須フィールドです。コンテンツとスペースの読み込み元であるファイルシステムディレクトリ(絶対パス)を、OS 固有のフォーマットで示します。このディレクトリは、Content Service sのインスタンスが動作しているサーバーからローカルにアクセスできなければならない点に注意してください。つまり、ローカルファイルシステム、またはローカルにマウント(GFS などを使ってマウント)されたリモートファイルシステムでなければなりません。

  • Target space (Path) も必須フィールドです。コンテンツの読み込み先となるターゲットスペースを、/Company Homeで始まるパスで示します。区切り文字には、Content Services が動作しているプラットフォームに関係なく、Unix 形式の/を使用します。このフィールドには AJAX 自動補完機能が備わっているため、ターゲットスペースの名前の一部を入力すると、AJAX 検索が実行され、一致するアイテムが表示されます。

  • Target space (NodeRef) は、Target space (Path) の代替フィールドで、コンテンツの読み込み先の NodeRef を示します。

  • Disable rules チェックボックスを使用すると、一括インポート時のルール処理をオフにできます。

  • Existing file mode オプションは、インポートするファイルが既にリポジトリ内に存在する場合の処理を選択します。

    • スキップする

    • コンテンツを置き換える

    • 既存のコンテンツの新しいバージョンとして作成する(ノードのバージョニングが有効な場合)
      ※ノードの既存のコンテンツとメタデータは以前のバージョンとして保持され、新しいコンテンツやメタデータは HEAD リビジョンに書き込まれる点に留意してください。

  • Batch Size テキストフィールドを使用すると、一括インポートで使用するデフォルトのバッチサイズ(bulkImport.batch.batchSizeプロパティによってトランザクションごとに定義された一度にインポートするディレクトリとファイルの数)をオーバーライドすることができます。

  • Number of Threads テキストフィールドを使用すると、一括インポートで使用するデフォルトのスレッド数(bulkImport.batch.numThreadsプロパティで定義)をオーバーライドすることができます。

 

インプレース一括インポートは、2つの Web スクリプトで公開されています。

1.シンプルな UI Web スクリプト。インポート用のパラメータを設定するのに使用できます。これは、次のパスを持つ HTTP GET の Web スクリプトとなります。

http://localhost:8080/alfresco/service/bulkfsimport/inplace

2. Web スクリプト。渡されたパラメータ(ソースディレクトリ、ターゲットスペースなどのパラメータ)を使用してインポートを開始します。スクリプトを作成したり、プログラムでツールを呼び出したりする場合は、この Web スクリプトを呼び出します。これは、次のパスを持つ HTTP POST の Web スクリプトとなります。

http://localhost:8080/alfresco/service/bulkfsimport/inplace/initiate

インプレースUI Webスクリプトは、次のような簡易化されたHTMLフォームを表示します。

  • Store-relative import directory path は必須フィールドです。コンテンツとスペースを読み込むためのファイルシステムのパス(コンテンツストアからの相対パス)を、OS固有のフォーマットで示します。このディレクトリは、Content Services のインスタンスが動作しているサーバーからローカルにアクセスできなければならない点に注意してください。つまり、ローカルファイルシステム、またはローカルにマウント(GFS などを使ってマウント)されたリモートファイルシステムでなければなりません。このディレクトリは、既存のコンテンツストア内に既に存在している必要があります。

  • Content Store フィールドは、コンテンツを保持するストアの名前です。この名前は、ストレージ構成内で(コンテンツストアセレクタで、または fileContentStore で直接)で定義されています。デフォルトストアは、デフォルトで default という名前になっています。最初の数文字を入力すると、オートコンプリートメニューが表示され、リストから名前を選択することができます。リスト内の移動には、マウスのほかにキーボードの上下キーも使用できます。

  • Target repository path も必須フィールドです。コンテンツの読み込み先となるターゲットスペースを、/Company Home で始まるパスで示します。区切り文字には、Content Services が動作しているプラットフォームに関係なく、Unix 形式の/を使用します。このフィールドには AJAX 自動補完機能が備わっているため、ターゲットスペースの名前の一部を入力すると、AJAX 検索が実行され、一致するアイテムが表示されます。

  • Disable rules チェックボックスを使用すると、一括インポート時のルール処理をオフにできます。

  • Existing file mode オプションは、インポートするファイルが既にリポジトリ内に存在する場合の処理を選択します。

    • スキップする

    • コンテンツを置き換える

    • 既存のコンテンツの新しいバージョンとして作成する(ノードのバージョニングが有効な場合)
      ※ノードの既存のコンテンツとメタデータは以前のバージョンとして保持され、新しいコンテンツやメタデータは HEAD リビジョンに書き込まれる点に留意してください。

  • Batch Sizeテ キストフィールドを使用すると、一括インポートで使用するデフォルトのバッチサイズ(bulkImport.batch.batchSize プロパティによってトランザクションごとに定義された一度にインポートするディレクトリとファイルの数)をオーバーライドすることができます。

  • Number of Threads テキストフィールドを使用すると、一括インポートで使用するデフォルトのスレッド数(bulkImport.batch.numThreads プロパティで定義)をオーバーライドすることができます。
    ステータス Web ページは、ストリーミングインポートとインプレースインポートで共通です。

ファイルシステム一括インポートツールのステータス

一括インポートステータス Web スクリプトは、現在のインポート(進行中の場合)のステータス情報、または最後に開始されたインポートのステータスを返します。この Web スクリプトは、HTML と XML の両方のビューを持つため、外部プログラムからプログラムでインポートのステータスを監視することができます。これは、次のパスを持つ HTTP GET の Web スクリプトとなります。

http://localhost:8080/alfresco/service/bulkfsimport/status

ステータス Web ページは、ストリーミングインポートとインプレースインポートで共通です。一括インポートが開始すると、ステータスは5秒ごとに更新されます。

各フィールドとその意味の詳細については、後述の「フィールド(リンク)と値」を参照してください。

プログラムによる一括インポート

以下のコード例で、ストリーミング一括インポートとインプレース一括インポートをプログラムで完了させる方法を紹介します。

ストリーミングの例:


インプレースの例:

一括インポートのスクリプトを作成するために呼び出す Web スクリプトの詳細については、本ページの前述にある「ユーザーインターフェイスによる一括インポート」を参照してください。


フィールド(リンク)と値

一括インポートツールには、多数の入力フィールドや表示フィールドがあります。これらのフィールドは、ユーザーインターフェイスに表示されるだけでなく、一括インポートをプログラミングする場合に使用するstatus.xmlファイルでも参照されます。各エントリのラベル、フィールド、可能な値、および概要について以下に説明します。
フィールドラベル(一括インポートステータス Web ページより)

フィールドラベル(一括インポートステータスWeb ページより)

フィールドエントリ(status.xmlファイルより)

可能な値

概要

 

 

フィールドラベル(一括インポートステータスWeb ページより)

フィールドエントリ(status.xmlファイルより)

可能な値

概要

 

 

Current status

<CurrentStatus>Idle</CurrentStatus>

Idle

In Progress

Status of the bulk import

 

Successful

<ResultOfLastExecution>Yes</ResultOfLastExecution>

Yes

No

n/a

Result of the bulk import

Batch Size

<batchSize>20</batchSize>

Numeric

一括インポート用に指定されたバッチサイズ(一度にインポートするディレクトリとファイルの数)

 

 

Number of threads

<numThreads>4</numThreads>

Numeric

一括インポート用に指定されたスレッド数

 

 

Source Directory

<SourceDirectory>importdirectory</SourceDirectory>

Alphanumeric

インポートするファイルシステムディレクトリの絶対パス

 

 

Target Space

<TargetSpace>/Company Home</TargetSpace>

Alphanumeric

コンテンツの読み込み先であるAlfrescoスペースのパス(/Company Homeから始まる)

 

 

Start Date

<StartDate>2014-05-15 01:30:11.912PM</StartDate>

Date and timestamp

一括インポートの開始日。形式は、YYYY-MM-DD HH:MM:SS.sss AM

PM

 

End Date

<EndDate>2014-05-15 01:30:12.009PM</EndDate>

Date and timestamp

一括インポートの終了日。形式は、YYYY-MM-DD HH:MM:SS.sss AM

PM

 

Duration

<DurationInNS>0d 0h 0m 0s 96.941ms</DurationInNS>

Alphanumeric

一括インポートが完了するまでにかかった時間。形式は、xd xh xm xxs xx.xxxms(xは数字)

 

 

Number of Completed Batches

<CompletedBatches>0</CompletedBatches>

Numeric

一括インポートで完了したバッチの数

 

 

Source (read) Statistics

<SourceStatistics>

 

 

 

 

Scanned: Folders

<FoldersScanned>0</FoldersScanned>

Numeric

スキャンしたソースフォルダの数

 

 

Scanned: Files

<FilesScanned>0</FilesScanned>

Numeric

スキャンしたソースファイルの数

 

 

Scanned: Unreadable

<UnreadableEntries>0</UnreadableEntries>

Numeric

読み取り不可能なソースファイルの数

 

 

Read: Content

<ContentFilesRead>0</ContentFilesRead>

Numeric

読み取り済みのソースコンテンツの量。形式は、数値およびかっこ内に示したコンテンツのサイズ

 

 

Read: Metadata

<MetadataFilesRead>0</MetadataFilesRead>

Numeric

読み取り済みのソースメタデータの量。形式は、数値およびかっこ内に示したメタデータのサイズ

 

 

Read: Content Versions

<ContentVersionFilesRead>0</ContentVersionFilesRead>

Numeric

読み取り済みのソースコンテンツバージョン。形式は、数値およびかっこ内に示したコンテンツバージョンのサイズ

 

 

Read: Metadata Versions

<MetadataVersionFilesRead>0</MetadataVersionFilesRead>

Numeric

読み取り済みのソースメタデータバージョン。形式は、数値およびかっこ内に示したメタデータバージョンのサイズ

 

 

Throughput

N/A

Numeric

1秒間にスキャンされたエントリ数、1秒あたりの読み取りファイル数、1秒あたりの読み取りデータサイズ

 

 

Target (write) Statistics

<TargetStatistics>

 

 

 

 

Space Nodes: # Created

<SpaceNodesCreated>0</SpaceNodesCreated>

Numeric

作成されたターゲットスペースノードの数

 

 

Space Nodes: # Replaced

<SpaceNodesReplaced>0</SpaceNodesReplaced>

Numeric

置換されたターゲットスペースノードの数

 

 

Space Nodes: # Skipped

<SpaceNodesSkipped>0</SpaceNodesSkipped>

Numeric

スキップされたターゲットスペースノードの数

 

 

Space Nodes: # Properties

<SpacePropertiesWritten>0</SpacePropertiesWritten>

Numeric

ターゲットスペースノードに書き込まれたプロパティの数

 

 

Content Nodes: # Created

<ContentNodesCreated>0</ContentNodesCreated>

Numeric

作成されたターゲットコンテンツノードの数

 

 

Content Nodes: # Replaced

<ContentNodesReplaced>0</ContentNodesReplaced>

Numeric

置換されたターゲットコンテンツノードの数

 

 

Content Nodes: # Skipped

<ContentNodesSkipped>0</ContentNodesSkipped>

Numeric

スキップされたターゲットコンテンツノードの数

 

 

Content Nodes: # Data Written

<ContentBytesWritten>0</ContentBytesWritten>

Numeric

書き込まれたターゲットコンテンツノードデータの量

 

 

Content Nodes: # Properties

<ContentPropertiesWritten>0</ContentPropertiesWritten>

Numeric

ターゲットコンテンツノードに書き込まれたプロパティの数

 

 

Content Versions: # Created

<ContentVersionsCreated>0</ContentVersionsCreated>

Numeric

作成されたターゲットコンテンツバージョンの数

 

 

Content Versions: # Data Written

<ContentVersionsBytesWritten>0</ContentVersionsBytesWritten>

Numeric

書き込まれたターゲットコンテンツバージョンデータの量

 

 

Content Versions: # Properties

<ContentVersionsPropertiesWritten>0</ContentVersionsPropertiesWritten>

Numeric

ターゲットコンテンツバージョンに書き込まれたプロパティ数

 

 

Throughput (write)

N/A

Numeric

1秒間にスキャンされたノード数、1秒あたりの書き込みデータサイズ

 

 

Error Information From Last Run

<ErrorInformation>

 

 

 

 

File that failed

<FileThatFailed>n/a</FileThatFailed>

Alphanumeric

一括インポートに失敗したファイル名

 

 

Exception

<Exception>exceptionLog</Exception>

Alphanumeric

一括インポート時に発生した例外のスタックトレース

 

 

ファイルシステム転送レシーバーの設定

ファイルシステム転送レシーバー(FSTR)は、リモートファイルシステムなどの転送サービスを使用して、Content Services のコアリポジトリ(DM)から、設定されたターゲットに、フォルダとコンテンツを転送します。
転送サービスは、TransferServiceという名前の Bean としてアクセス可能で、他の関連する Bean と共に、transfer-service-context.xmlという Spring のコンテキストファイルで定義できます。

コンテンツレプリケーションのために新しい転送先を作成し、転送先フォルダのタイプを手動でtrx:fileTransferTargetに変更する必要があります。この変更により、転送先とフォルダが関連付けられ(trx:fileTransferRootFolderの関連付け)、ファイルシステムレシーバーのルートフォルダに対応するフォルダノードを指定することができるようになります。詳しくは、ファイルシステムのコンテンツレプリケーションのための新しい転送先を作成するを参照してください。

同期モードの転送に対応しているため、レプリケーションサービスでも利用できます。データ(NodeRefとファイルパスのマッピングなど)を記録するための Derby データベースが組み込まれており、Web スクリプトフレームワークと MyBatis を使用して、組み込みの Tomcat インスタンスで Web アプリケーションとして実行されます。

セットアップ

ファイルシステム転送レシーバーは、圧縮ZIPファイルとして提供されます。

  1. サポートポータルから以下のファイルをダウンロードします。
    alfresco-file-transfer-receiver-7.0.x.zip

  2. ZIPファイルを適切なディレクトリで解凍します。
    ファイルシステム転送レシーバーのZIPファイルは、次のようなディレクトリ構造に展開されます。

    サブディレクトリの中には、次のファイルが含まれています。
    /classes

    /lib

    /webapps


起動

ここでは、ファイルシステム転送レシーバーの起動について説明します。

  1. ファイルシステム転送レシーバーの ZIP ファイルが展開されていることを確認します。
    alfresco-file-transfer-receiver-7.0.x.zip

  2. ファイルシステム転送レシーバーを実行するには、次のコマンドを入力します。

FSTR が動作しているかどうかは、<http://<FSTR-host-name>:<FSTR-port>/alfresco-ftr/service/indexに移動して確認することができます。Web アプリケーションサーバーの起動を知らせる情報メッセージが表示されます。>

起動プロパティ

ファイルシステム転送レシーバーの起動プロパティは、ftr-launcher.propertiesファイルにあります。
このファイルには、Tomcat のベースディレクトリと、起動を行うポートの番号が含まれています。

プロパティ

説明

プロパティ

説明

ftr.tomcat.baseDir

組み込みの Tomcat Web アプリケーションサーバーがインストールされているベースディレクトリを指定します。これは、絶対パス、またはサーバーを起動する場所からの相対パスのどちらかになります。デフォルト値の${user.dir}は、ユーザーの現在の作業ディレクトリを Tomcat のベースディレクトリとすることを意味します。

ftr.tomcat.portNum

FSTR Tomcat Web アプリケーションサーバーがリッスンするポート番号を指定します。デフォルトは9090です。

カスタムプロパティ

ファイルシステム転送レシーバーのカスタムプロパティは、ftr-custom.propertiesファイルにあります。

これは、FSTR の動作を設定するためのファイルです。このファイルには、ルートディレクトリ、ステージングディレクトリ、Derby データベース接続文字列、ユーザー名、パスワードの設定が含まれています。

Property

Description

 

Property

Description

 

fileTransferReceiver.stagingDirectory

ステージング ディレクトリは、転送中に FSTR がソース リポジトリから受信したファイルを一時的に格納する場所です。これらのファイルには、転送されるノードのメタデータを記述したマニフェスト ファイルと、それらのノードに関連付けられた実際のコンテンツ ファイルが含まれます。これらのファイルはすべて、ルート ディレクトリの下の正しい場所に移動される前に、このプロパティによって参照されるディレクトリでステージングされます。デフォルトは ./ftr-staging です。

 

fileTransferReceiver.rootDirectory

転送されたノードのツリーのトップレベルであるローカルファイルシステム上のディレクトリの位置を指定します。ソースリポジトリで転送の指名されたルートノードの子であるノードは、転送されるとこのプロパティで参照されるディレクトリに配置されます。デフォルトは ./ftr-root です。

 

fileTransferReceiver.jdbcUrl=jdbc:

derby:./derbyDB;create=true;

user=alfresco;password=alfresco

FSTR には、どのノードを受信し、ファイルシステム上のどのファイルがどのノードに対応するかを追跡するために使用する Apache Derby データベースが埋め込まれています。このプロパティは、この組み込みデータベースの接続 URL を指定します。このプロパティを変更する必要はほとんどありません。

注意: FSTR データベースをネットワークファイルシステムの場所に保存しないことをお勧めします。データの整合性を確保するため、データベースはローカルディスクに置く必要があります。

 

fileTransferReceiver.username

この FSTR への転送を開始する際に、ソースリポジトリが宣言しなければならないユーザー名です。このプロパティは、ソースリポジトリの転送ターゲットに格納されているユーザー名プロパティと一致しなければなりません。デフォルトは admin に設定されています。

 

fileTransferReceiver.password

この FSTR への転送を開始する際に、ソースリポジトリが宣言しなければならないパスワードです。このプロパティは、ソースリポジトリの転送ターゲットに格納されているパスワードプロパティと一致する必要があります。デフォルトは admin に設定されています。

 

ログファイルのプロパティ

log4j.propertiesファイルを使用して、ファイルシステム転送レシーバーの問題をデバッグすることができます。このセクションでは、設定可能なプロパティについて説明します。

以下がその例です。

ファイルシステムのコンテンツレプリケーションのための新しい転送先を作成する

転送サービスは、Data Dictionary内の Transfers スペースに、転送サービスの動作を制御・監視するファイルを格納しています。

Transfer Target Groupsスペースには、転送先を指定する転送先定義が含まれています。フォルダの下にはグループレベルがあり、異なる転送先セットを分類するために使用されます。このフォルダには、Default Groupというグループがあります。

  1. 新しい転送フォルダを作成することで、転送先を追加できます。
    ソースリポジトリで、Company Home > Data Dictionary > Transfers > Transfer Target Groups > Default Group の場所に新しいフォルダを作成します。

    1. New Folder ウィンドウで、名前(たとえば「Replica」)を指定します。必要であれば、タイトルや説明を追加することができます。
      Default Group フォルダに定義されるルールにより、そのフォルダの中で作成されるフォルダの種類が特殊化されます。
      フォルダの種類は、フォルダルールによって自動的に trx:transferTarget に設定されます。この設定により、ユーザーインターフェイスを通じて、レプリケーションターゲットを定義するのに必要なプロパティを追加できます。

    2. フォルダの種類を手動で変更します。Folder Detailsページで、Change Typeを選択し、この新しく作成したフォルダの File Transfer Target を選択します。
      これにより、ファイルシステム転送レシーバーのシステムが必要とする Root Folder の設定も可能になります。

    3. 新しいフォルダ(「Replica」)で Edit Properties をクリックします。

    4. 必要なプロパティを指定します。

      1. Endpoint Host、Endpoint Port、Username、Password を指定します。

      2. 残りのプロパティは、ファイルシステム転送レシーバーの起動で設定した FSTR サーバーを指すように指定します。
        注:このとき、Root folder を選択することができます。ファイルの転送元サイトの Document Library のサブフォルダを参照し、選択します。たとえば、site1というサイトの folder1 というフォルダからいくつかのファイルを転送したい場合、プロパティウィンドウでその folder1 を Root Folder として選択します。

      3. Enabled、Save の順にクリックします。

    5. alfresco-global.propertiesファイルでレプリケーションサービスを有効にします。

      その後、ソースリポジトリを再起動します。

  2. ターゲットリポジトリにおいて、alfresco-global.properties ファイルでレプリケーションサーバーとコンテンツレシーバーを有効にします。

    その後、転送先のリポジトリを再起動します。

  3. ソースリポジトリで、ターゲット設定をテストするためのレプリケーションジョブを作成します。

    1. ツールバーから Admin Tools をクリックし、メニューから Replication Jobs を選択します。

    2. Create Jobをクリックします。

    3. Name、Payload、Transfer Target のプロパティを指定します。
      Name は新しいフォルダ名(たとえば「Replication Job」)です。Payload は転送元のコンテンツディレクトリ、Transfer Target は手順1で設定したフォルダ名(「Replica」)です。

    4. Enabled をクリックします。

    5. Create Job をクリックします。

    6. 数分後に画面を更新すると、状態の変化を確認できます。

  4. レプリケーションジョブを確認します。
    ターゲットリポジトリで Alfresco Share にログインし、転送されたファイルを選択して、Open in Source Repository をクリックし、コンテンツがレプリケートされていることを確認します。

リックソフト株式会社 は、日本でトップレベルのAtlassian Platinum Solution Partnerです。
大規模ユーザーへの対応実績が認められたEnterpriseの認定をうけ、高度なトレーニング要件をクリアし、小規模から大規模のお客様まで対応可能な実績を示したパートナー企業です。


Copyright © Ricksoft Co., Ltd. プライバシーポリシー お問い合わせ