OpenCms 外部連携・データ移行マニュアル

OpenCms 外部連携・データ移行マニュアル
株式会社 ジークス
(2010 年 10 月 25 日更新)
目次
1
はじめに.............................................................................................................................3
2
拡張 HTML インポート...................................................................................................3
2-1 拡張 HTML インポート機能とは? ................................................................................................ 3
2-2 使い方 .............................................................................................................................................. 4
3
WebDAV の利用...............................................................................................................9
3-1 OpenCms の WebDAV 機能とは?.................................................................................................. 9
3-2 使い方(事前準備) ...................................................................................................................... 10
3-3 その他の WebDAV クライアント.................................................................................................. 15
3-4 サーバー側の設定 .......................................................................................................................... 16
3-5 サーバー側の詳細な設定 ............................................................................................................... 17
4
ファイル同期機能 ..........................................................................................................19
4-1 ファイル同期機能とは? ............................................................................................................... 19
4-2 使い方 ............................................................................................................................................ 20
5
リソース自動生成機能 ...................................................................................................26
5-1 リソース自動生成機能とは?........................................................................................................ 26
5-2 使い方 ............................................................................................................................................ 26
5-3 リソース定義ファイルの入力項目<基本項目> .......................................................................... 33
5-4 リソース定義ファイルのリソース・パスの指定方法 ................................................................... 35
5-5 リソース定義ファイルの入力項目<メタ情報> .......................................................................... 41
5-6 リソース定義ファイルの入力項目<アクセス権限> ................................................................... 52
5-7 リソース定義ファイルの入力項目<アクション>....................................................................... 54
6 リソース自動生成機能<各種ジェネレータ> ..................................................................57
6-1 CSV データジェネレータ............................................................................................................... 57
6-2 データベースジェネレータ ........................................................................................................... 60
6-3 シーケンスジェネレータ ............................................................................................................... 62
6-4 期間ジェネレータ .......................................................................................................................... 64
6-5 ユーザー情報ジェネレータ ........................................................................................................... 68
2
はじめに
1
この資料では、主に、外部のデータを OpenCms に取り込む上で役に立つ機能を説明します。
2
拡張 HTML インポート
2-1 拡張 HTML インポート機能とは?
OpenCms の拡張 HTML インポート機能を利用すると、他のサイトの静的ページを OpenCms に取
り込む事が出来ます。
単に取り込むだけではなく、ヘッダーやフッター、サイドメニューなどの不要な部分を除去し、必要
な本文のみを切り出して取り込むことが出来ます。取り込んだページは、OpenCms のテンプレートを
適用する事が可能で、本文も、HTML エディタで編集することが出来ます。
HTML ページの他にも、画像や CSS、JavaScript、また、PDF や Word のようなバイナリファイル
も、そのサイトの階層構造を保ったまま、一括で取り込むことが出来ます。
3
2-2 使い方
まず、OpenCms に取り込みたいファイルを一式、ZIP 形式に圧縮して下さい。
4
次に、OpenCms のエクスプローラ上で、①取り込みたい場所に移動して、②「新規」ボタンをクリ
ックして下さい。
すると、新規ダイアログが表示されるので、③「拡張 HTML インポート」を選択して、
④「次へ >>」ボタンをクリックして下さい。
すると、アップロード画面が表示されるので、⑤「拡張」ボタンをクリックして下さい。
5
⑥「参照…」ボタンで、インポートする静的コンテンツを圧縮した ZIP ファイルを選択します。
⑦イメージギャラリー欄に、イメージギャラリーのフォルダを指定すると、インポートする画像が、
全てそのフォルダにまとめられます。画像がバラバラに配置されている静的コンテンツを取り込む場合、
画像ファイルを一箇所にまとめられるので便利です。
HTML 内で記述している画像へのリンクのパスも、それにあわせて自動的に修正されてインポートさ
れます。但し、同じファイル名の画像が別々のディレクトリに存在する場合は、上書きされてしまうの
で注意が必要です。
同様に、ダウンロードギャラリーを指定すると、PDF や Word、Excel、swf などのバイナリファイ
ルが、そのフォルダにまとめられます。
6
外部リンクギャラリーを指定すると、インポートする HTML 内に記述された外部のサイトの URL が
このフォルダ内に外部リンクとして登録されます。インポートする HTML 内のリンクも外部リンクを
参照するように修正されるので、URL が変更になった場合、この外部リンクの URL を一箇所修正すれ
ばよくなります。
これらのギャラリーを指定する場合は、事前にギャラリーのフォルダを作成しておく必要があります。
⑧テンプレートプルダウンで、テンプレートを選択し、⑨エレメント欄に、登録先のエレメント名を
指定します。インポートする HTML ファイルには、ここで指定したテンプレートが適用され、指定し
たエレメントに HTML が登録されます。
⑨エレメント欄に記述できるエレメント名は、⑧テンプレートプルダウンで選択した JSP テンプレー
トの template-elements プロパティに指定されているエレメント名しか指定できません。また、指定で
きるエレメントは一つだけです。
一度のインポートで指定できるテンプレートも、一つだけですので、テンプレートが違う HTML を
インポートするには、複数回に分けてインポートする必要があります。
⑩ロケールプルダウンにはインポート先のロケールを指定します。
⑪入力エンコーディング欄には、インポートする HTML の文字コードを指定します。OpenCms に
取り込んだ後は UTF-8 となりますが、基本的に、OpenCms に取り込んだ後の文字コードは、
content-encoding プロパティで制御します。
⑫開始正規表現パターンと、⑬終了正規表現パターンは、インポートする HTML 内で、切り出す
HTML の開始文字と終了文字を正規表現で指定します。例えば、ヘッダーやフッターはテンプレートで
表示されるものなので、本文だけインポートすればいいケースがあります。その場合は、本文の開始位
置から、終了位置までを指定すれば、その部分だけを切り出してインポートされます。
切り出せる部分は、HTML ファイル一つに付き一箇所だけです。
また、切り出す箇所を特定できるように、インポートする HTML の該当部分には、事前にコメント
タグなどを入れて準備しておく必要があります。
インポートするファイルが既に OpenCms に存在している場合、上書きしてよいのであれば、⑭ファ
イルの上書きチェックボックスにチェックを入れます。
インポートする HTML にリンク切れがある場合でも、強制的に取り込む場合は、⑮リンク切れを無
視チェックボックスにチェックを入れます。
尚、取り込む HTML ファイルのリンクは相対パスで記述されていなければなりません。
7
インポート中はログが表示されます。エラーがあれば赤字で表示されます。
取り込み結果は、以下のようになります。
8
3 WebDAV の利用
3-1 OpenCms の WebDAV 機能とは?
WebDAV の機能を利用すると、共有フォルダのような感覚で OpenCms 上のリソースを操作できます。
画像などの Drag&Drop によるアップロードやダウンロードが可能になります。
※ 尚、FireFox 3.6 以上であれば、HTML5 の機能を利用して、ブラウザからファイルを直接ドラッグ
&ドロップでアップロードできます。他のブラウザも HTML5 の対応が進めば可能になります。
9
3-2 使い方(事前準備)
以下は、クライアントが Windows XP 環境の場合の、WebDAV の設定方法です。
Windows のエクスプローラを開いて、①マイ ネットワーク → ②ネットワークプレースを追加するを
選択して下さい。
10
③次へ(N) > ボタンをクリックして下さい。
④別のネットワークの場所を選択をクリックし、⑤次へ(N) > ボタンをクリックして下さい。
11
⑥インターネットまたはネットワークのアドレス(A)欄に OpenCms の WebDAV アドレスを入力します。
もし、インストールした OpenCms のログイン画面の URL が以下であれば、
http://localhost:8080/opencms/opencms/system/login
WebDAV のアドレスは、以下になります。
http://localhost:8080/opencms/webdav/
最後に、⑦次へ(N) > ボタンをクリックします。
【注意】
以下の様に、ポートが 80 の為にポート指定を省略している場合、接続できない事があります。
http://localhost/opencms/webdav/
その場合は、以下のようにアドレスにポートを指定するか、
http://localhost:80/opencms/webdav/
以下のように最後の文字を"/"ではなく"?"にして接続するようにして下さい。
http://localhost/opencms/webdav?
12
WebDAV へ接続しようとすると、最初にユーザー名とパスワードを聞かれますので、
OpenCms のログインアカウントのユーザー名とパスワードを入力して下さい。
そのアカウントの権限で、OpenCms へ WebDAV 経由でアクセスできるようになります。
尚、初回は、このショートカットに名前を入力するように求められますので、⑧ネットワークプレース
の名前欄に適当な名前を入力し、⑨次へ(N) > ボタンをクリックして下さい。
13
これ以降は、マイネットワークを開けば、このフォルダが表示されるようになります。
上記のように、Windows のエクスプローラに OpenCms 上のファイルが表示され、ドラッグ&ドロッ
プによるアップロードなどが行えます。
__properties フォルダには、そのフォルダ内のリソースのプロパティなどのメタ情報が保存されてい
ます。よく分からない場合は、触らないように注意して下さい。
また、画像や PDF、CSS などのファイルはそのまま利用できますが、xmlpage や構造化コンテンツ
のような、OpenCms のテンプレートと関連付いていて、HTML エディタや入力フォームからデータを
登録する類のページは、静的なテキストファイルと同様の方法で運用する事は出来ません。
これらのファイルは、データが全て XML で保存されていますので修正する場合は注意して下さい。
静的な HTML テキストでファイルを上書きしてしまうと OpenCms 上で表示されなくなってしまいま
す。
逆に言えば、その XML の構造にあわせてファイルを作成すると、OpenCms でそのまま利用する事
が出来ます。
尚、WebDAV から編集しても、発行などの作業はブラウザから行う必要があります。
14
3-3 その他の WebDAV クライアント
前項では、Windows 標準で付属している WebDAV クライアントで説明しましたが、このクライアン
トは実装上の問題が多い事で有名です。できれば、別途、WebDAV クライアントをインストールして使
用する方がよいでしょう。
フリーのもので日本語化されているものとしては、以下のものが OpenCms と相性が良いようです。
FFFTP と似たような GUI でアップロードやダウンロードが可能です。
■ dddav
http://www.mylab.jp/
その他、有償のものでは、Windows の共有フォルダのように操作できるものもあるようです。
15
3-4 サーバー側の設定
WebDAV の設定は、./WEB-INF/web.xml の以下の箇所で行います。
・
・
・
<servlet>
<description>
Creates an access to OpenCms through WebDAV.
</description>
<servlet-name>OpenCmsWebDavServlet</servlet-name>
<servlet-class>org.opencms.webdav.CmsWebdavServlet</servlet-class>
<init-param>
<param-name>listings</param-name>
<param-value>true
true</param-value>
true
</init-param>
<init-param>
<param-name>readonly</param-name>
<param-value>false
false</param-value>
false
</init-param>
<init-param>
<param-name>repository</param-name>
<param-value>extended
extended</param-value>
extended
</init-param>
</servlet>
・
・
・
WebDav の機能を無効にしたい場合は、listings
listings パラメータを false にして下さい。
読み込み専用で、書き込みや削除を禁止したい場合は、readonly
readonly パラメータを true にして下さい。
repository パラメータに関しては次項で説明します。
16
3-5 サーバー側の詳細な設定
WebDAV からアクセスした時は、ブラウザでログインした時と同じファイルやフォルダが閲覧できま
すが、例えば、WebDAV からのアクセスの場合は、画像のフォルダ以外は見せないようにしたい等、見
え方を代えたい場合があります。
OpenCms には、WebDAV からのアクセス権限を設定する機能があります。
この設定は、opencms-importexport.xml の以下の箇所で行います。
【設定ファイル:./WEB-INF/config/opencms-importexport.xml 】
<repository name="extended" class="org.opencms.repository.CmsRepositoryIgnoreExpiration">
<params>
<param name="wrapper">org.opencms.file.wrapper.CmsResourceExtensionWrapperJsp</param>
<param name="wrapper">org.opencms.file.wrapper.CmsResourceExtensionWrapperXmlContent</param>
<param name="wrapper">org.opencms.file.wrapper.CmsResourceExtensionWrapperXmlPage</param>
<param name="wrapper">org.opencms.file.wrapper.CmsResourceWrapperSystemFolder</param>
<param name="wrapper">org.opencms.file.wrapper.CmsResourceWrapperPropertyFile</param>
</params>
<filter type="include">
<regex>/</regex>
<regex>/sites/.*</regex>
<regex>/system/</regex>
<regex>/system/galleries/.*</regex>
<regex>/system/modules/</regex>
<regex>/system/modules/[^/]*/</regex>
<regex>/system/modules/[^/]*/resources/.*</regex>
</filter>
</repository>
WebDAV から参照可能なフォルダを<regex/>で列挙していきます。これに該当しないフォルダへのア
クセスは WebDAV からは出来なくなります。
<repository/>タグ内にこれらの設定を記述しますが、この設定は複数記述する事が可能で、それぞれ
に、name="extended"のように、名前を付けておきます。
これを、「3-4 サーバー側の設定」で設定したサーブレットの repository パラメータに指定すると、
その設定が有効になります。
複数パターンの設定を有効にしたい場合は、複数の設定を記述した後、それに対応する WebDAV サ
ーブレットを、パスを変えて、複数立ち上げます。
17
18
4
ファイル同期機能
4-1 ファイル同期機能とは?
ファイル同期機能とは、OpenCms が管理しているリソースを、物理ディレクトリにコピーし、同期
を取る機能です。
OpenCms のエクスプローラーで操作していると、実際のファイルを操作しているように錯覚します
が、OpenCms が管理しているリソースの実態は全てデータベースの中にあります。よって、サーバー
上の物理的な場所にファイルがあるわけでは無いので、FTP などで更新することはできません。
しかし、ファイル同期機能を利用すると、OpenCms で管理しているリソースを、サーバー上の物理
ディレクトリ上にコピーされ、サーバー上のファイルを直接変更すると、OpenCms のデータベースに
反映されるようになります。逆に、OpenCms 上でリソースに変更を加えると、物理ファイルも動揺の
更新が行われるようになります。
この機能により、FTP や共有フォルダとして OpenCms のリソースを操作したり、バッチで定期的に
更新することも、通常のファイル操作のシェルを作成すれば可能になります。
19
4-2 使い方
①表示プルダウンを管理メニューにし、管理画面を表示します。
次に、②ワークプレースツール → ③同期設定 とクリックします。
20
同期設定の画面が表示されるので、設定項目を入力して下さい。
①有効チェックボックスにチェックを入れると、ファイル同期機能が利用可能になります。
②ターゲットフォルダー欄には、サーバーの物理パスを指定して下さい。
ここで指定したパスに OpenCms 上のリソースがコピーされます。
指定するディレクトリは事前に作成しておく必要があります。
③リソース欄には、ファイル同期対象となる OpenCms 上のパスを指定します。複数指定できます。
④検索ボタンをクリックすると、入力補助機能のフォルダツリーが表示されます。
⑤+ボタンや⑥×ボタンをクリックすると、③リソース欄を増やしたり減らしたり出来ます。
設定が終わったら、⑦OK ボタンをクリックして下さい。
21
画面をリロードすると、ツールバーに⑧同期フォルダーボタンが表示されていると思います。
このボタンをクリックすると、現在のリソースの状態で、ファイルの同期が行われます。
サーバー上の物理ディレクトリに同期されたファイル
22
このように、ファイルを更新しただけで即座に同期が行われるわけではなく、同期処理が実行される
タイミングで初めて更新がかかります。よって、この処理を行わない限り、同期が取れず、差異が生じ
たままとなります。
ツールバーのボタンは、手動で即時に同期を行う場合ですが、定期的に同期処理を実行する場合は、
ジョブ・スケジューラにファイル同期用のジョブを登録します。ジョブの登録の仕方は以下です。
⑨表示プルダウンを管理メニューに変更し、管理画面を表示します。
次に、⑩ジョブ → ⑪新しいジョブ とクリックします。
23
ジョブ名には、このジョブの名前を入力します。この名前はジョブの一覧画面で表示されます。
Java のクラスには、org.opencms.scheduler.jobs.CmsSynchronizeJob を指定して下さい。
クーロン表現形式には、ファイル同期ジョブの実行時間(実行間隔)をクーロン表記で指定します。
ユーザー名にはこのジョブを実行するユーザーを指定して下さい。必ず、OpenCms へログインし、同
期対象のディレクトリへの書き込み権限を持ったユーザーでなければなりません。
プロジェクトは Online 以外を指定して下さい。Online プロジェクトだと更新が出来ません。
続けるボタンをクリックすると、ジョブのパラメータを入力する画面が表示されます。
24
+ボタンや×ボタンをクリックする事でパラメータ入力欄を増やしたり減らしたり出来ます。
まず、rfs_path=(サーバー上の物理パス名)を指定して下さい。
このパラメータで指定したパスに、OpenCms 上のリソースがコピーされます。
次に、vfs_path_(連番)=(OpenCms 上のパス名)を指定して下さい。
このパラメータで指定したパスが、同期対象となります。
rfs_path も、vfs_path_(連番)も指定しなかった場合は、管理ツールの同期設定画面で設定した値が使わ
れます。
また、enabled=false を指定すると、このジョブが実行されても同期処理はスキップされます。
OK ボタンをクリックすると、ジョブが登録され、定期的にファイル同期処理が実行されるようになり
ます。
25
5
リソース自動生成機能
5-1 リソース自動生成機能とは?
リソース自動生成機能を利用すると、CSV やデータベース、その他、さまざまな条件をもとにして、
OpenCms 内にリソースを作成することが出来ます。また、リソースの生成処理はジョブに登録する事
が出来るので、定期的にリソースの生成を行う事が出来ます。
5-2 使い方
リソースの自動生成を行うには、まず、自動生成ルールの定義ファイルを作成する必要があります。
定義ファイルを置く、適当な場所に移動し、①新規ボタン → ②その他設定ファイル → ③ 次へ>>ボ
タンとクリックして下さい。
26
次に、④リソース生成ルール定義ファイルを選択し、⑤次へ >> ボタンをクリックして下さい。
定義ファイルのファイル名を⑥名前欄に入力して、⑦次へ >> ボタンをクリックして下さい。
ファイル名の拡張子は*.html にして下さい。
その後に出てくるプロパティ設定画面では、特に何も入力せず「完了」ボタンをクリックして下さい。
上記のように、定義ファイルが作成されます。
このファイルの⑧ファイル名をクリックし、プレビューを表示して下さい。
27
プレビューでは、設定内容が表示されます。
⑨直接編集ボタンをクリックすると編集画面へ遷移しますので、そこで生成ルールを入力して下さい。
(※ 生成ルールの各入力項目に関しては、後で詳細に説明します。)
設定が終わったら、この設定ファイルをジョブとしてスケジューラに登録します。
28
プレビュー画面
プレビュー画面から
画面からジョブ
からジョブを
ジョブを登録する
登録する場合
する場合
ジョブ・スケジューラに登録する最も簡単な方法は、この画面から登録することです。
ジョブスケジューラの登録権限のあるユーザーであれば、プレビューの左上に⑩「今すぐジョブを登録
する」リンクが表示されているので、それをクリックして下さい。
すると、ジョブの登録フォームが表示されます。
⑪ジョブ名欄に、このジョブの名前を入力してください。
⑫実行日時欄には、このジョブを実行する日時を指定します。定期的に実行したい場合は cron 表記で
入力して下さい。特定の日時を指定するとその時刻に一度だけ実行されるようになります。
日付の入力は、⑬カレンダーから入力する事も可能です。
即時に一度だけ実行したい場合は、現在より過去の日付を入力して下さい。
最後に⑭登録するボタンをクリックすると、ジョブが登録されます。
29
管理画面から
管理画面からジョブ
からジョブを
ジョブを登録する
登録する場合
する場合
管理画面からジョブを登録する場合は以下のようにします。
⑨表示プルダウンを管理メニューに変更し、管理画面を表示します。
次に、⑩ジョブ → ⑪新しいジョブ とクリックします。
30
ジョブ名には、このジョブの名前を入力します。この名前はジョブの一覧画面で表示されます。
Java のクラスには、org.opencms.scheduler.jobs.CmsGenerateResourcesJob を指定して下さい。
クーロン表現形式には、ファイル同期ジョブの実行時間(実行間隔)をクーロン表記で指定します。
クーロン表記以外は受け付けません。
ユーザー名にはこのジョブを実行するユーザーを指定して下さい。必ず、OpenCms へログインし、リ
ソース生成対象ディレクトリへの書き込み権限を持ったユーザーでなければなりません。
31
プロジェクトは Online 以外を指定して下さい。Online プロジェクトだと生成出来ません。
サイトルートには、リソースを生成するサイトのルートパスを指定して下さい。
この師弟を間違うと、全く違うディレクトリにリソースが生成されてしまいます。
続けるボタンをクリックすると、ジョブのパラメータを入力する画面が表示されます。
+ボタンや×ボタンをクリックする事でパラメータ入力欄を増やしたり減らしたり出来ます。
config =(リソース生成ルール定義ファイルのパス)を指定して下さい。
ここには、読み込むルール定義ファイルを指定します。
前の画面のサイトルート欄で指定したパスからの相対位置で指定します。
OK ボタンをクリックすると、ジョブが登録され、定期的にリソース生成処理が実行されるようになり
ます。
32
5-3 リソース定義ファイルの入力項目<基本項目>
リソース定義ファイルの入力項目の説明をします。
タイトル欄には、このリソース定義ファイルの名前を入力します。
ルール欄には、ジェネレータ、ベースパス、パラメータ、上書き方法、生成リソース定義などの入力項
目があり、自動生成のルールを定義します。ルール欄は複数登録する事が可能で、ルール欄を追加した
い場合は、右側の二重丸アイコンで追加、削除を行います。
以下は、ルール欄の各入力項目の説明です。
ジェネレータ・プルダウンには、使用するジェネレータを指定します。
選択できるジェネレータには以下のものがあります。
ジェネレータ
説明
データベース
外部のデータベースに SQL を発行し、取得したデータをもとにリソースを生
成するジェネレータです。
ユーザー情報
登録されている OpenCms のアカウント情報をもとにリソースを生成するジ
ェネレータです。
CSV データ
CSV ファイルを読み込み、そのデータをもとにリソースを生成するジェネレ
ータです。
シーケンス
連番を指定し、その連番をもとにリソースを生成するジェネレータです。
期間
期間を指定し、その期間をもとにリソースを生成するジェネレータです。
33
ベース・パス欄にはリソースの生成先を指定します。ここで指定するディレクトリは、自動的には作成
されませんので、事前に作成されている必要があります。
パラメータ欄には、ジェネレータに渡すパラメータを指定します。ここで指定するパラメータの内容は、
ジェネレータ・プルダウンに指定したジェネレータに依存します。
例えば、ジェネレータに CSV データを指定した場合は、ここには CSV ファイルのパスを指定し、ジェ
ネレータにデータベースを指定した場合は、ここには SQL を記述する事になります。
上書き方法プルダウンには、リソースを自動生成する時、既に同名のファイルが存在していた場合の挙
動を選択します。選択できる項目には以下のものがあります。
項目
説明
既に存在する場合は上書き
既存のファイルに対して上書きを行います。
既に存在する場合はスキップ
何もせず、次のファイルの生成に移ります。
既に存在しない場合はスキップ
既に存在する場合のみ上書きを行い、存在しなければ何も
行いません。つまり、新規作成は行われません。
既に存在する場合は警告して継続
ログにアラートを出力し、処理を継続します。
上書きが行われます。
既に存在する場合はエラーで終了
ログにエラーを出力し、処理を停止します。
上書きは行われず、次のファイルの生成にも移りません。
但し、今まで生成したファイルのロールバックも行われま
せん。
生成リソース定義欄には、実際に生成するリソースの定義を記述します。最低でも、生成するリソース
のパスとリソースタイプを指定しなければなりません。生成リソース定義欄は複数登録する事が可能で、
生成リソース定義欄を追加したい場合は、右側の二重丸アイコンで追加、削除を行います。
34
5-4 リソース定義ファイルのリソース・パスの指定方法
では、これまで説明した入力パラメータを用いて、実際に実行してみます。
タイトル
ルール
リソース生成ルールのサンプル
ジェネレータ
CSV データ
ベース・パス
/news/
パラメータ
/news/data.csv
上書き方法
既に存在する場合は上書き
生成リソース定義
パス
news_%(col,ID)_%(col,ファイル名).html
リソースタイプ
xmlpage
まず、上記のように入力しました。ジェネレータには CSV データを使用するようにしています。
よって、パラメータには、CSV ファイルのパスを指定しています。
そして、ベース・パスに/news/を指定しているので、/news/以下にリソースが生成されます。
また、/news/data.csv を事前に作成します。この CSV の内容は、以下の通りです。
/news/data.csv(リソースタイプ:テキスト)
CSV ファイルの一行目は実データではなく、必ず、ヘッダー(項目名)でなければなりません。
リソースタイプ欄には、xmlpage を指定しているので、xmlpage のリソースが生成されます。
パス欄には、生成するリソースのパス(ファイル名)を指定します。
news_%(col,ID)_%(col,ファイル名).html が指定しされていますが、%(…)は、マクロと呼ばれ、様々な
変数に置換されます。利用できるマクロはジェネレータに依存します。
35
ジェネレータが CSV データやデータベースの場合は、%(col)のマクロを使用することが出来ます。
カンマ区切りで引数に項目名を指定すると、その項目名に置換されます。
よって、CSV データの ID 列が 1 で、ファイル名列が sampleA の場合、news_%(col,ID)_%(col,ファイ
ル名).html は、news_1_sampleA.html となります。
また、%(col, <項目名>) は、%(col, <列番号>) で指定することも可能です。
よって、news_%(col,ID)_%(col,ファイル名).html は、news_%(col,1)_%(col,2).html でも同じ意味にな
ります。
このリソース生成定義ファイルで実行した結果は以下になります。
リソースタイプ xmlpage のページが、3 つ作成されました。
CSV データの場合、CSV データの行数分、ルール欄で指定した処理が実行されるため、3 つのファイ
ルが作成されています。
36
生成するリソースのパスを、%(col,ファイル名)/index.html のようにしたい場合の方法を説明します。
この場合、%(col,ファイル名)のフォルダの中に、index.html という名前で xmlpage を生成する事になります。
しかし、%(col,ファイル名)というフォルダはまだ存在しない為、このまま実行するとエラーとなります。
こういったケースでは、xmlpage の生成ルールの前に、フォルダの生成ルールを追加します。
タイトル
ルール
リソース生成ルールのサンプル
ジェネレータ
CSV データ
ベース・パス
/news/
パラメータ
/news/data.csv
上書き方法
既に存在する場合は上書き
生成リソース定義
生成リソース定義
パス
%(col,ファイル名)
リソースタイプ
folder
パス
%(col,ファイル名)/index.html
リソースタイプ
xmlpage
パスは、ベース・パスで指定したパスからの相対位置で記述します。
また、生成リソース定義欄の順序は重要です。
上から順に実行されますので、フォルダの作成をページの作成より上に記述する必要があります。
37
実行結果は以下です。
sampleA、sampleB、sampleC フォルダが生成され、そのフォルダの下に、それぞれの index.html が
生成されています。
38
生成するリソースのパスには、*(ワイルドカード)を指定することが出来ます。
例えば、/news/フォルダの下に、カテゴリ毎にフォルダを作成する事にします。
そして、カテゴリフォルダの下に、自動生成で xmlpage のページと images フォルダ(イメージギャラ
リー)を作成する事にします。
但し、カテゴリ毎のフォルダ自体は自動生成されるものではなく、手動で作成します。
手動でフォルダを作成すると、その下のリソースが、自動生成により作成されるようにしてみます。
まず、/news/の下に、ir と、product と、topics というフォルダを手動で作成しました。
このフォルダの下には、まだリソースは何もありません。
リソース定義ファイルを以下のようにします。
タイトル
ルール
リソース生成ルールのサンプル
ジェネレータ
CSV データ
ベース・パス
/news/
パラメータ
/news/data.csv
上書き方法
既に存在する場合は上書き
生成リソース定義
生成リソース定義
パス
*/news_%(col,ID)_%(col,ファイル名).html
リソースタイプ
xmlpage
パス
*/images
リソースタイプ
imagegallery
生成リソース定義のパスに*(ワイルドカード)を使用しています。
39
実行結果は以下です。
ir、product、topics の各フォルダの下に、images フォルダと CSV から取得したデータで生成された 3
ページが生成されます。
フォルダを新規作成した後、必要なファイルやフォルダを一式、まとめて生成する場合などに有効です。
40
5-5 リソース定義ファイルの入力項目<メタ情報>
生成リソース定義には、パスとリソースタイプの他に、メタ情報を指定することが出来ます。
メタ情報欄は複数登録する事が可能で、メタ情報欄を追加したい場合は、右側の二重丸アイコンで追
加、削除を行います。
メタ情報には、タイプ、名前、値を入力する欄があります。
まず、タイプ・プルダウンで、登録するメタ情報の種類を選択します。
選択できるメタ情報の種類には以下のものがあります。
個別プロパティ
個別プロパティ
個別プロパティをセットする場合に選択します。これを指定した場合、名前欄にプロパティ名を、値
欄にプロパティ値を入力します。値には、マクロを使用する事が可能です。
【入力例】
上の例の場合、/news/フォルダの Title プロパティが"ニュース"で、且つ、自動生成した時の日時が
2010 年 6 月 20 日の場合、生成される html の Title プロパティには、"2010-06-20 のニュース"という
値が入ります。
41
共有プロパティ
共有プロパティ
共有プロパティをセットする場合に選択します。
リソースをショートカットとしてコピーした場合、個別プロパティは、別々に値をセットできますが、
共有プロパティは値を共有します。よって、共有プロパティのプロパティ値を変更すると、ショートカ
ットとして作成されたほかのリソースのプロパティ値も変更される事になります。
設定方法は、個別プロパティの時と全く同じです。
【入力例】
上の例の場合、/news/フォルダの Title プロパティが"ニュース"で、且つ、自動生成した時の日時が
2010 年 6 月 21 日の場合、生成される html の NavText プロパティには、"20100621 のニュース"とい
う値が入ります。
【入力例】
上の例の場合、"/system/modules/jp.zyyx.opencms7_5_1.core/templates/blank.jsp"という値が、生成
される html の template プロパティに入ります。xmlpage の場合、テンプレートの指定は必須なので、
このようにしてテンプレートを指定する事になります。
42
公開日
リソースの公開日をセットする場合に選択します。これを指定した場合、名前欄は未入力のままで問
題ありません。値欄には公開日をセットしますが、セットするのは UNIX TIME でなければなりません。
よって、"2010/6/21"といったような文字列は指定できず、"1277316216406"のような数値しか受け付け
ません。
尚、ミリ秒単位での UNIX TIME なので、元のデータが秒単位の UNIX TIME の場合、それを 1000
倍したデータを登録する必要があります。1970 年といった日付が登録される場合は、値を 1000 倍にし
て下さい。
また、値には、マクロを使用する事が可能です。
【入力例】
%(now)は、現在時刻を表すマクロです。+ 3days とすることで、リソース生成日時から 3 日後を指定
した事になります。
また、%(now)は、カンマ区切りでフォーマットを引数に渡す事が出来ます。
43
公開日や公開期限はデータが UNIX TIME なのでフォーマット指定は無意味なのですが、年、月、日、
時、分、秒を固定の値にしたい場合に利用できます。例えば、リソース生成処理が、どの時間に実行さ
れたとしても、リソース生成日時から 3 日後の 10 時ジャストに公開日をセットしたい場合、以下のよ
うにフォーマットで指定します。
フォーマットは"yyyy-MM-dd HH:mm:ss"、又は、"yyyy/MM/dd HH:mm:ss"で指定して下さい。
44
公開期限
リソースの公開期限をセットする場合に選択します。設定方法は、公開日の時と全く同じです。
【入力例】
エレメント
これは、メタ情報というよりは、データ本体をあらわしています。これは、リソースタイプによって
動作や設定方法が変わります。
生成するリソースタイプが xmlpage の場合、名前欄にエレメント名を指定し、その内容を値欄に指
定します。
【入力例】
上の例では、body エレメントに、CSV のデータを、間に改行タグを挿入しながら出力するように指示
しています。
45
生成されたページのプレビューです。本文に、指定された文字列が入っています。
本文は、直接編集ボタンから HTML エディタを開き、編集することが可能です。
46
生成するリソースタイプが構造化コンテンツの場合、名前欄にエレメント名を指定し、その内容を値
欄に指定します。エレメントが階層構造を持っている場合、/ 区切りで階層を指定します。
また、エレメントが可変長の配列構造の場合、[ ]で、添え字を指定することが出来ます。
【入力例】
上の例では、Title エレメントに CSV データのタイトル列のデータを登録します。
上の例では、FileInfo エレメント内の ReleaseDate エレメントに現在日時をフォーマット指定ありで指
定しています。
47
上の例では、FileInfo エレメント内の FileName エレメントに CSV データのファイル名欄の値を指
定しています。FileName エレメントは複数のフィールドを持てる配列構造であり、添え字を指定して
1 番目の入力欄にセットされるように指定しています。
尚、このマニュアルの例では、リソースタイプに"xmlcontent"と指定していますが、本来は自分で作
成したリソースタイプを指定します。自作したリソースタイプ追加した時、opencms-modules.xml を
設定したと思いますが、自作したりソースタイプを指定する場合、その<type/>タグの name 属性にセ
ットした名前を指定して下さい。(詳しくは、テンプレート開発マニュアルの「5-4 リソースタイプの
追加」を参照して下さい。
)
<type class="org.opencms.file.types.CmsResourceTypeXmlContent" name="sample" id="80">
また、データタイプに OpenCmsDateTime を指定したエレメントに日付のデータを入れるときは注意
が必要です。この場合も、公開日の場合と同様、セットするのは UNIX TIME でなければなりません。
よって、"2010/6/21"といったような文字列は指定できず、"1277316216406"のような数値しか受け付け
ません。
尚、ミリ秒単位での UNIX TIME なので、元のデータが秒単位の UNIX TIME の場合、それを 1000
倍したデータを登録する必要があります。1970 年といった日付が登録される場合は、値を 1000 倍にし
て下さい。
48
生成するリソースタイプが plain や、JSP、PHP、Groovlet などのテキストファイルの場合、名前欄
には何も指定する必要はありません。値欄に指定したテキストデータが、そのままテキストファイルの
内容として保存されます。
【入力例】
49
生成するリソースタイプが image や、binary などのバイナリ・ファイルの場合、名前欄には何も指
定する必要はありません。値欄に指定したバイナリ・データが、そのままファイルの内容として保存さ
れます。
但し、ジェネレータがデータバースの場合、Blob 系のカラムのみサポートされます。
ジェネレータが、CSV データなどであれば、入力はテキストデータになります。この場合、そのテキス
トデータは、バイナリデータを BASE64 でエンコードしたものである必要があります。
【入力例】
生成するリソースタイプが folder や、gallery 系の場合、エレメントの指定は無効です。
50
最後に、演算式欄ですが、ここには計算式を記述します。
計算式が入力されると、値欄のデータをこの式に当てはめて計算し、その計算結果の数値を登録するよ
うになります。
演算式欄に式を記述する場合、値欄のデータは数値である事が前提となります。
また、セットされる値は、式の中では ? であらわします。
【入力例】
上の例では、CSV の価格列からデータを取得し、それを Price エレメントに登録します。
ただし、登録する前に、CSV の価格値を 80%にして 500 を引いた値に変換してから登録します。
51
5-6 リソース定義ファイルの入力項目<アクセス権限>
アクセス権限欄では、生成するリソースのアクセス権限を指定します。アクセス権限欄は、一つのリソ
ースに対し複数登録する事が可能で、アクセス権限欄を追加したい場合は、右側の二重丸アイコンで追
加、削除を行います。
対象欄には、アクセス権限を付与する対象を記述します。直接記述する事も可能ですが、右側の検索ア
イコンをクリックすると、一覧から選択できます。
パーミッション欄には、権限を指定します。設定できる文字列は以下のものがあり、これらをつなげた
文字列を入力します。
設定値
説明
+r
読み込みを許可する。
+w
書き込みを許可する。
+v
エクスプローラー上での表示を許可する。
+c
コピーや移動などのリソース・コントロールを許可する。
+d
直接発行を許可する。
+i
サブフォルダーにも同じ権限設定を継承させる。
+o
親フォルダから継承された権限を破棄する。
+l
このコンテンツの責任者にする。
-r
読み込みを拒否する。
-w
書き込みを拒否する。
-v
エクスプローラー上での表示を拒否する。
-c
コピーや移動などのリソース・コントロールを拒否する。
-d
直接発行を拒否する。
52
【実行結果】
53
5-7 リソース定義ファイルの入力項目<アクション>
アクション欄では、リソース生成時に実行するアクションを指定します。アクション欄は、一つのリ
ソースに対し複数登録する事が可能で、アクション欄を追加したい場合は、右側の二重丸アイコンで追
加、削除を行います。
コマンド欄には実行するアクションの種類を指定します。コマンドには以下のものがあります。
コマンド
同時に発行する
説明
リソースを生成した後、発行も行います。
リソース生成ジョブの実行ユーザーが、発行権限を持って
いる必要があります。
コピー
生成したリソース、又は、生成しようとしていたリソース
が既に存在していた場合に、そのリソースを別のディレク
トリにコピーします。
移動
生成したリソース、又は、生成しようとしていたリソース
が既に存在していた場合に、そのリソースを別のディレク
トリに移動します。
削除:関連付けファイルは残す
生成したリソース、又は、生成しようとしていたリソース
が既に存在していた場合、そのリソースを削除します。
削除対象のリソースが関連付けファイルを持っている場
合、その関連付けファイルは削除しません。
削除:関連付けファイルも削除
生成したリソース、又は、生成しようとしていたリソース
が既に存在していた場合、そのリソースを削除します。
削除対象のリソースが関連付けファイルを持っている場
合、その関連付けファイルも同時に削除します。
54
コピー・移動時のオプション欄には、コマンド欄で「コピー」または「移動」を選択した場合に、その
移動先などの情報を指定します。
この欄は、コマンド欄で「コピー」または「移動」を選択した時のみ指定します。
コピー・移動先欄は、コピー又は移動先のディレクトリを指定します。
ここで指定したディレクトリの直下に、同じファイル名でリソースがコピー又は移動されます。
指定するディレクトリは事前に作成しておかなければなりません。
また、リソース自動生成ジョブを実行するユーザーの権限で書き込める必要があります。
上書き方法プルダウンには、コピー又は移動先に、既に同名のファイルが存在していた場合の挙動を指
定します。指定できる項目には以下のものがあります。
項目
説明
既に存在する場合は上書き
既存のファイルに対して上書きを行います。
既に存在する場合はスキップ
何もせず、次のファイルの生成に移ります。
既に存在しない場合はスキップ
既に存在する場合のみ上書きを行い、存在しなければ何も
行いません。つまり、新規作成は行われません。
既に存在する場合は警告して継続
ログにアラートを出力し、処理を継続します。
上書きが行われます。
既に存在する場合はエラーで終了
ログにエラーを出力し、処理を停止します。
上書きは行われず、次のファイルの生成にも移りません。
但し、今まで生成したファイルのロールバックも行われま
せん。
「関連付けファイルの扱い」プルダウンは、コピー時の、関連付けファイル(ショートカット)の扱い
方法を指定します。指定できる項目には、以下のものがあります。
項目
説明
関連付けファイルを保持する
関連付けファイルであれば関連付けファイル、そうでなけ
れば、別リソースとしてコピーします。
別リソースとしてコピー
常に別リソースとしてコピーします。
関連付けファイルとしてコピー
常に関連付けファイルとしてコピーします。
※ コマンドがコピーの場合のみ有効です。移動の場合は、この指定は無視されます。
55
タイミング欄には、リソースをコピー又は移動するタイミングを指定します。
指定できる項目には、以下のものがあります。
項目
説明
メタ情報更新前に移動またはコピー
メタ情報などの更新を行う前にリソースをコピーまた
は移動します。
よって、新たに生成されたりソースと、コピー又は移動
させたリソースのメタ情報は一致しません。
これは、主に変更を加える前に現在のファイルをバッ
クアップするといった目的で使用します。
メタ情報更新後に移動またはコピー
メタ情報などの更新を行った後に、リソースをコピーは
移動します。よって、新たに生成されたりソースと、コ
ピー又は移動させたリソースのメタ情報は一致します。
これは、自動生成したファイルを複数の場所に配置し
たり、生成するフォルダと配置するフォルダを別にする
必要がある場合などに使用します。
56
6 リソース自動生成機能<各種ジェネレータ>
6-1 CSV データジェネレータ
このジェネレータは、CSV ファイルからデータを読み込み、それをもとにリソースを生成します。
定義されたルールは、CSV の行の数だけ実行されます。
パラメータ
パラメータ欄に指定するのは、CSV ファイルのパスです。
OpenCms に登録されている CSV ファイル(VFS)を指定する場合は、ジョブを実行するサイトの
ルートからの相対パスを指定します。
OpenCms がインストールされているサーバー上の物理ファイル(RFS)を指定する場合は、絶対パ
スで指定します。
文字コードを指定する場合は、(文字コード) | (CSV ファイルのパス) 形式で指定します。
デフォルトの文字コードは、OpenCms 上の CSV ファイルの場合、content-encoding プロパティ値
の値が適用され、content-encoding プロパティが未入力なら、UTF-8 が適用されます。
サーバー上の物理ファイルの場合のデフォルト文字コードは OS のデフォルトの文字コードです。
57
マクロ
CSV データジェネレータで使用できるマクロは以下の通りです。
マクロ
説明
%(col)
CSV データの該当するカラムの値を表します。
カンマで区切って、カラム名を指定します。
カラム名は CSV データの一行目のデータが使用されます。
例)%(col, タイトル)
また、カラム名ではなく、列の番号でも指定することが出来ます。
列の番号は 1 以上の整数です。1 が一番左の列を表します。
例)%(col, 3)
注 意 : 登 録 先 の デ ー タ 型 が OpenCmsDataTime の 場 合 、 登 録 す る の は
"yyyy-MM-dd"のような日付の文字列ではなく、ミリ秒まで含んだ UNIX TIME
になります。よって、CSV のデータも事前に UNIX TIME にしておく必要があ
ります。
%(now)
リソースの自動生成が実行された日時を表します。
デフォルトでは、日付のフォーマットは"yyyy-MM-dd"ですが、カンマで区切っ
て、フォーマットを指定することが出来ます。
例)%(now, yyyy/MM/dd HH:mm)
"2010/6/21"といったような文字列ではなく、"1277316216406"のような数値
(UNIX TIME)で表示したい場合は、以下のようにフォーマットを空文字で指定
します。 (※ カンマだけ指定します。)
例)%(now, )
また、現在時刻に対して、時間を加算、減算することが出来ます。
例)%(now + 3days)
… 現在時刻から 3 日後を指定
%(now - 2days)
… 現在時刻から 2 日前を指定
%(now + 8hours)
… 現在時刻から 8 時間後を指定
%(now - 1year , M 月 d 日)
… 現在時刻から 1 年前を指定
(日付フォーマットの指定あり)
但し、演算子は、一つまでしか指定できません。
58
時間の加算、減算の指定には、以下のものが使用できます。
秒: second, sec, seconds
分: minute, min, nimutes
時: hour, hours
日: day, days
月: month
年: year, years
また、公開日や公開期限にこのマクロを指定する場合、フォーマット指定の扱
いが若干異なります。
公開日や公開期限の場合、入力されるデータは必ず UNIX TIME なのでフォー
マット指定は無意味なのですが、代わりに、年、月、日、時、分、秒を固定の値
にしたい場合に利用できます。
例えば、リソース生成処理が、どの時間に実行されたとしても、リソース生成
日時から 3 日後の 10 時ジャストに公開日をセットしたい場合、以下のようにフ
ォーマットで指定します。
例)%(now + 3days, yyyy/MM/dd 10:00:00)
※ この場合、フォーマットは"yyyy-MM-dd HH:mm:ss"、又は、
"yyyy/MM/dd HH:mm:ss"で指定して下さい。
%(parent)
個別プロパティ又は共有プロパティの値の設定でこのマクロを使用した場合、
設定しようとしているプロパティ名と同じプロパティ名で、親フォルダを再帰的
に検索し、最初に見つけたプロパティ値をセットします。
公開日又は公開期限の値の設定でこのマクロを使用した場合、親フォルダの公
開日又は公開期限をそのままセットします。
※ 上記以外のところでこのマクロを指定しても効果はありません。
%(prop)
指定されたプロパティ名で親フォルダを再帰的に検索し、最初に見つけたプロパ
ティ値をセットします。カンマで区切って、プロパティ名を指定します。
例)%(prop, Description)
※ プロパティ名は大文字、小文字の区別があるので注意してください。
59
6-2 データベースジェネレータ
このジェネレータは、データベースへ SQL を発行し、取得したデータをもとにリソースを生成しま
す。定義されたルールは、取得したレコードの件数だけ実行されます。
パラメータ
パラメータ欄に指定するのは、発行する SQL と接続先データベースを表すコネクション・プールの
名前です。
SQL のみ記述すると、OpenCms が使用しているデフォルトのデータベースへ接続します。
別のデータベースへ接続する場合は、./WEB-INF/config/opencms.properties に接続情報を記述し、そ
のプール名を "(プール名) | (SQL 文)" の形式で指定します。
別のデータベースへ接続する方法は、
「OpenCms タグリファレンス」の 2-19 query を参照して下さい。
60
マクロ
データベースジェネレータで使用できるマクロは以下の通りです。
マクロ
説明
%(col)
データベースから取得したデータの該当するカラムの値を表します。
カンマで区切って、カラム名を指定します。
例)%(col, GROUP_NAME)
また、カラム名ではなく、列の番号でも指定することが出来ます。
列の番号は 1 以上の整数です。1 が一番左の列を表します。
例)%(col, 2)
注 意 : 登 録 先 の デ ー タ 型 が OpenCmsDataTime の 場 合 、 登 録 す る の は
"yyyy-MM-dd"のような日付の文字列ではなく、ミリ秒まで含んだ UNIX TIME
になります。よって、データベースのデータも事前に UNIX TIME にしておく必
要があります。
%(now)
リソースの自動生成が実行された日時を表します。
内容は CSV データジェネレータと同様ですので、そちらの説明を参照して下さ
い。
%(parent)
個別プロパティ又は共有プロパティの値の設定でこのマクロを使用した場合、
設定しようとしているプロパティ名と同じプロパティ名で、親フォルダを再帰的
に検索し、最初に見つけたプロパティ値をセットします。
公開日又は公開期限の値の設定でこのマクロを使用した場合、親フォルダの公
開日又は公開期限をそのままセットします。
※ 上記以外のところでこのマクロを指定しても効果はありません。
%(prop)
指定されたプロパティ名で親フォルダを再帰的に検索し、最初に見つけたプロパ
ティ値をセットします。カンマで区切って、プロパティ名を指定します。
例)%(prop, Description)
※ プロパティ名は大文字、小文字の区別があるので注意してください。
61
6-3 シーケンスジェネレータ
このジェネレータは、指定されたループ回数だけ、定義されたリソース生成ルールを実行します。
パラメータ
パラメータ欄に指定するのは、ループの開始番号と終了番号です。
上記の場合、1 から 10 までの合計 10 回、リソース生成処理を実行します。
この 1 から 10 までの数字は、マクロで取得する事が出来ます。
数字の増加数を指定する場合は、3 つ目の引数に指定します。
上記の場合、0, 50, 100, 150, 200 の合計 5 回、リソースの生成処理が実行されます。
62
マクロ
シーケンスジェネレータで使用できるマクロは以下の通りです。
マクロ
説明
%(seq)
現在のシーケンスの番号を取得します。
%(now)
リソースの自動生成が実行された日時を表します。
内容は CSV データジェネレータと同様ですので、そちらの説明を参照して下さ
い。
%(parent)
個別プロパティ又は共有プロパティの値の設定でこのマクロを使用した場合、
設定しようとしているプロパティ名と同じプロパティ名で、親フォルダを再帰的
に検索し、最初に見つけたプロパティ値をセットします。
公開日又は公開期限の値の設定でこのマクロを使用した場合、親フォルダの公
開日又は公開期限をそのままセットします。
※ 上記以外のところでこのマクロを指定しても効果はありません。
%(prop)
指定されたプロパティ名で親フォルダを再帰的に検索し、最初に見つけたプロパ
ティ値をセットします。カンマで区切って、プロパティ名を指定します。
例)%(prop, Description)
※ プロパティ名は大文字、小文字の区別があるので注意してください。
63
6-4 期間ジェネレータ
このジェネレータは、期間を指定し、その期間の日数分、定義されたリソース生成ルールを実行しま
す。
パラメータ
パラメータ欄に指定するのは、開始日と終了日です。カンマ区切りで指定します。
リソースが生成された時間から相対的に時間を指定する場合は、以下のように、+3days や-3days と指
定します。
期間の指定には、以下の値を指定することが出来ます。
秒: second, sec, seconds
分: minute, min, nimutes
時: hour, hours
日: day, days
月: month
年: year, years
また、日時を日付で直接指定することも出来ます。
直接日付を指定する場合は"yyyy/MM/dd HH:mm:ss"又は"yyyy/MM/dd"の日付フォーマットで指定し
ます。
64
マクロ
期間ジェネレータで使用できるマクロは以下の通りです。
マクロ
説明
%(date)
現在処理している日付を取得します。
それ以外の使い方は、CSV データジェネレータの%(now)と同様ですので、そち
らの説明を参照して下さい。
%(now)
リソースの自動生成が実行された日時を表します。
内容は CSV データジェネレータと同様ですので、そちらの説明を参照して下さ
い。
%(parent)
個別プロパティ又は共有プロパティの値の設定でこのマクロを使用した場合、
設定しようとしているプロパティ名と同じプロパティ名で、親フォルダを再帰的
に検索し、最初に見つけたプロパティ値をセットします。
公開日又は公開期限の値の設定でこのマクロを使用した場合、親フォルダの公
開日又は公開期限をそのままセットします。
※ 上記以外のところでこのマクロを指定しても効果はありません。
%(prop)
指定されたプロパティ名で親フォルダを再帰的に検索し、最初に見つけたプロパ
ティ値をセットします。カンマで区切って、プロパティ名を指定します。
例)%(prop, Description)
※ プロパティ名は大文字、小文字の区別があるので注意してください。
65
使用例
使用例
期間ジェネレータを用いて以下のように設定した場合の実行結果を示します。
タイトル
ルール
リソース生成ルールのサンプル
ジェネレータ
期間(毎日)
ベース・パス
/news/
パラメータ
2010/06/01 10:00:00, 2010/06/03 10:00:00
上書き方法
既に存在する場合は上書き
生成リソース定義
パス
リソース
タイプ
%(date, yyyyMMdd_HH).html
xmlpage
【実行結果】
ジェネレータに期間(毎日) を指定しているので、増分は一日になります。
よって、2010/06/01 10:00:00 ~ 2010/06/03 10:00:00 の間で 3 日分の html が生成されます。
他の設定はそのままで、ジェネレータだけ、期間(毎時)に変更した場合の実行結果は以下になります。
タイトル
ルール
リソース生成ルールのサンプル
ジェネレータ
期間(毎時)
ベース・パス
/news/
パラメータ
2010/06/01 10:00:00, 2010/06/03 10:00:00
上書き方法
既に存在する場合は上書き
生成リソース定義
パス
リソース
タイプ
%(date, yyyyMMdd_HH).html
xmlpage
66
【実行結果】
ジェネレータに期間(毎時) を指定しているので、増分は一時間になります。
よって、2010/06/01 10:00:00 ~ 2010/06/03 10:00:00 の間で時間毎の html がたくさん生成されます。
67
6-5 ユーザー情報ジェネレータ
このジェネレータは、OpenCms に登録されているアカウントの情報を元に、定義されたリソース生成
ルールを実行します。
パラメータ
パラメータ欄には、取得するユーザーの条件をカンマ区切りで指定します。
指定できる条件には以下のものがあります(大文字・小文字は区別されません)
。
条件
説明
enable
有効なユーザーのみを取得します。
!enable
無効なユーザーのみを取得します。
disable
無効なユーザーのみを取得します。
zip
郵便番号が入力済みのユーザーのみ取得します。
!zip
郵便番号が未入力のユーザーのみ取得します。
city
市町村が入力済みのユーザーのみ取得します。
!city
市町村が未入力のユーザーのみ取得します。
street
アドレスが入力済みのユーザーのみ取得します。
!street
アドレスが未入力のユーザーのみ取得します。
country
国籍が入力済みのユーザーのみ取得します。
!country
国籍が未入力のユーザーのみ取得します。
description
説明が入力済みのユーザーのみ取得します。
!description
説明が未入力のユーザーのみ取得します。
role.(ロール名)
指定されたロールに所属しているユーザーのみ取得します。
!role.(ロール名)
指定されたロールに所属していないユーザーのみ取得します。
group.(グループ名)
指定されたグループに所属しているユーザーのみ取得します。
!group.(グループ名)
指定されたグループに所属していないユーザーのみ取得します。
user.(ユーザー名)
指定されたユーザーのみ取得します。
!user.(ユーザー名)
指定されたユーザーは取得しません。
key.(追加情報のキー)
指定された追加情報が入力済みのユーザーのみ取得します。
!key.(追加情報のキー)
指定された追加情報が未入力のユーザーのみ取得します。
68
マクロ
ユーザー情報ジェネレータで使用できるマクロは以下の通りです。
マクロ
説明
%(name)
ログイン名を表します。
%(lastname)
姓を表します。
%(firstname)
名を表します。
%(email)
メールアドレスを表します。
%(zip)
郵便番号を表します。
%(city)
市町村を表します。
%(street)
アドレスを表します。
%(country)
国籍を表します。
%(description)
説明文を表します。
%(key.追加情報のキー)
追加情報を表します。
%(now)
リソースの自動生成が実行された日時を表します。
内容は CSV データジェネレータと同様ですので、そちらの説明を参
照して下さい。
%(parent)
個別プロパティ又は共有プロパティの値の設定でこのマクロを使
用した場合、設定しようとしているプロパティ名と同じプロパティ
名で、親フォルダを再帰的に検索し、最初に見つけたプロパティ値
をセットします。
公開日又は公開期限の値の設定でこのマクロを使用した場合、親
フォルダの公開日又は公開期限をそのままセットします。
※ 上記以外のところでこのマクロを指定しても効果はありません。
%(prop)
指定されたプロパティ名で親フォルダを再帰的に検索し、最初に見
つけたプロパティ値をセットします。カンマで区切って、プロパテ
ィ名を指定します。
例)%(prop, Description)
※ プロパティ名は大文字、小文字の区別があるので注意してくださ
い。
69