ストア・アーカイブ中のアクセス制御 XML ファイルの編集
ストア・アーカイブ中のアクセス制御資産は、ストア・アーカイブ中の他の資産とは違って、
変換済みアクセス制御 XML ファイルがあるので (samplestorenameAccessPolices.xml)、
このファイルを編集してから変換します。
変換した XML ファイル (samplestorenameAccessPoliciesOut.xml) がストア・アーカイブ中で使用されます。
注:
- WebSphere Commerce は、2 つの変換済みアクセス制御 XML ファイルを提供しており、
個々のサンプル・ストアについて、
1 つ (samplestorenameAccessPolicies.xml) はすべての言語に適用され、
もう 1 つ (samplestorenameAccessPolicies_locale.xml) には地域固有の情報が含まれています。
これらのファイルをそれぞれ変換しなければなりません。
変換すると、2 つの XML ファイルになり、
1 つ (samplestorenameAccessPoliciesOut.xml) はすべての言語に適用され、
もう 1 つ (samplestorenameAccessPoliciesOut_locale.xml) には地域固有の情報が含まれています。
- サンプル・ストア WebAuction で使用されるデータと、サンプル・ストア WebFashion で使用されるデータは同じです。
したがって、これらのストアでは同じ変換済みアクセス制御 XML ファイルが共用されます。
これらのファイルは WebFashion ディレクトリーにあります (以下にリストされている場所を参照してください)。
ストア・アーカイブ中のアクセス制御データベース資産を編集するには、以下のようにします。
- ご使用のストアのベースにするサンプル・ストアの変換済みアクセス制御 XML ファイルを見つける。
これらのファイルは、samplestorenameAccessPolicies.xml および samplestorenameAccessPolicies_locale.xml を呼び出す。
ディレクトリーでは、ファイルは以下のディレクトリーに置かれます。
drive:\WebSphere\CommerceServer\samples\stores\samplestorename
drive:\ProgramFiles\WebSphere\CommerceServer\samples\stores\
samplestorename
/usr/WebSphere/CommerceServer/samples/stores/samplestorename

/opt/WebSphere/CommerceServer/samples/stores/samplestorename
/QIBM/ProdData/WebCommerce/samples/stores/samplestorename
samplestorename は、
ご使用のストアのベースにするサンプル・ストア・アーカイブの名前 (NewFashion など) です。
重要: 対応する DTD ファイルに変更を加えると、ポリシーが使用できなくなる場合があります。
- ファイルに必要な変更を加える。
- samplestorenameAccessPolicies.xml および samplestorenameAccessPolicies_locale.xml を以下のディレクトリーにコピーする。
drive:\WebSphere\CommerceServer\xml\policies\xml
drive:\Program
Files\WebSphere\CommerceServer\xml\policies\xml
/usr/WebSphere/CommerceServer/xml/policies/xml

/opt/WebSphere/CommerceServer/xml/policies/xml
任意のユーザー・データ・ディレクトリーにコピーする。
既存の XML ファイルに DTD への絶対パスを指定します。
アクセス制御 DTD ファイルは以下のディレクトリーにあります。
/QIBM/ProdData/WebCommerce/xml/policies/dtd
- xmltransform コマンドを実行し、samplestorenameAccessPolicies.xml を変換する。




コマンド・プロンプトで、次のように入力する。
cd to
drive:\WebSphere\CommerceServer\bin
drive:\ProgramFiles\WebSphere\CommerceServer\bin
/usr/WebSphere/CommerceServer\bin

/opt/WebSphere/CommerceServer/bin
- その後、次のように入力する。
xmltransform -infile ..\xml\policies\xml\samplestorenameAccessPolicies.xml
-transform ..\xml\policies\xsl\accesscontrol.xsl -outfile ..\xml\policies\xml\samplestorenameAccessPoliciesOut.xml
TRNWCSXML INFILE (input file) TRANSFORM('/QIBM/ProdData/WebCommerce/xml/policies/xsl/accesscontrol.xsl')
INSTROOT(instance_root) OUTFILE(output_file)
- 以下のログ・ファイルを調べて、変換が正常に完了したことを確認する。
drive:\WebSphere\CommerceServer\bin\xmltransform.db2.log
drive:\Program
Files\WebSphere\CommerceServer\bin\xmltransform.db2.log
/usr/WebSphere/CommerceServer/bin/xmltransform.db2.log

/opt/WebSphere/CommerceServer/bin/xmltransform.db2.log
/QIBM/UserData/WebCommerce/instances/instancename/logs/TRNWCSXML.tx
変換が成功した場合、以下のメッセージが表示されます。
"<Date> <Time> java.lang.Class main
XMLTransformer
Transform Successful"
- xmltransform コマンドを実行し、
samplestorenameAccessPolicies_locale.xml を変換する。




コマンド・プロンプトで、次のように入力する。
cd to
drive:\WebSphere\CommerceServer\bin
drive:\ProgramFiles\WebSphere\CommerceServer\bin
/usr/WebSphere/CommerceServer\bin

/opt/WebSphere/CommerceServer/bin
- その後、次のように入力する。
xmltransform -infile ..\xml\policies\xml\samplestorenameAccessPolicies_locale.xml
-transform ..\xml\policies\xsl\accesscontrolnls.xsl -outfile ..\xml\policies\xml\samplestorenameAccessPoliciesOut_locale.xml

TRNWCSXML INFILE(input file)
TRANSFORM('/QIBM/ProdData/WebCommerce/xml/policies/
xsl/accesscontrolnls.xsl')
INSTROOT(instance_root) OUTFILE(output_file)
- 作成された XML ファイルに以下の変更を行う。
- samplestorenameAccessPolicesOut.xml で、開始タグと終了タグを以下のように置き換える。
<?xml version="1.0"?>
<!DOCTYPE accesscontrol-asset SYSTEM "accesscontrol.dtd">
<accesscontrol-asset>
</accesscontrol-asset>
- samplestorenameAccessPolicesOut_locale.xml で、開始タグと終了タグを以下のように置き換える。
<?xml version="1.0" encoding="correct
language code for the file"?>
<!DOCTYPE accesscontrol-asset SYSTEM "../accesscontrol.dtd">
<accesscontrol-asset>
</accesscontrol-asset>
- samplestorenameAccessPolicesOut_locale.xml で、
@locale を &locale に置き換える。たとえば、
LANGUAGE_ID="@en_US" を LANGUAGE_ID="&en_US;" に置き換える。
- samplestorenameAccessPolicesOut_locale.xml
の中で "acpoldesc" テーブルを参照しているところを見つける。
ACPOLICY_ID の値の終わりにある @ を除去する。
たとえば、
"@AllUsersExecuteInFashionAllUsersViews@" を "@AllUsersExecuteInFashionAllUsersViews" に変更します。
- samplestorenameAccessPolicesOut.xml で、
MEMBER_ID="MEMBER_ID" を MEMBER_ID="&MEMBER_ID;" に置き換える。
- samplestorenameAccessPolicesOut.xml の中で、
"acpolicy" テーブルを参照しているところを見つける。
ACPOLICY_ID の値の終わりにある "@MEMBER_ID" を除去する。
たとえば、
"@AllUsersExecuteInFashionAllUsersViews@MEMBER_ID" を "@AllUsersExecuteInFashionAllUsersViews" に変更します。
- サイトのストア・アーカイブ・ファイル (mystore.sar など) を見つける。
デフォルトでは、ストア・アーカイブ・ファイルは以下のディレクトリーに置かれています。
drive:\WebSphere\CommerceServer\instances\instancename\sar
drive:\Program
Files\WebSphere\CommerceServer\instances\instancename
\sar
/usr/WebSphere/CommerceServer/instances/instancename/sar

/opt/WebSphere/CommerceServer/instances/instancename/sar
/QIBM/UserData/WebCommerce/instances/instancename/sar
- samplestorenameAccessPolicesOut.xml および samplestorenameAccessPoliciesOut_locale.xml を、
accesscontrol.xml に名前変更する。 ロケール固有の accesscontrol.xml ファイルは、
デフォルトでは data/locale ディレクトリー (たとえば、data/en_US) にあります。
- ZIP プログラムを使用して、ストア・アーカイブ・ファイルをオープンする。
- ストア・アーカイブ・ファイル内の既存の accesscontrol.xml およびロケール固有の accesscontrol.xml を、
ステップ 8 で名前変更したものに置き換える。
- ストア・アーカイブ・ファイルを保管する。
ストア・データベース資産についての詳細は、
IBM WebSphere Commerce ストア開発者ガイド を参照してください。
