flowMappingsの蚭定方法に぀いお

9 views
Skip to first unread message

katarou

unread,
Nov 19, 2007, 9:45:31 PM11/19/07
to Piece Framework Users (ja)
田川です。

珟圚flowMappingsの機胜を䜿甚しお、耇数フロヌの察応を行おうずしおいたす。
サンプルでフロヌはフロヌあるのですが、
'The flow ID [ /authenticate.php ] not found in the flow definitions.
ず゚ラヌが衚瀺され蚭定がうたくいきたせん。

- name: useFlowMappings
type: configuration
value: true

- name: configExtension
type: configuration
value: .flow

- name: flowMappings
 type: configuration
   value:
     - url: /admin/index.php
     flowName: admin_Admin
     isExclusive: false
    - url: /authenticate.php
     flowName: authentication_Authentication
     isExclusive: true

- name: Interceptor_Authentication
point:
- name: url
type: configuration
value: "http://localhost/authenticate.php"
- name: resources
type: configuration
value:
- "/admin/index.php"

どこかに問題があるず思うのですが、いただに原因が぀かめずにいたす。
サンプルなどあれば参照したいのですが、可胜でしょうか

たた、Intercepter_Authenticationで質問なのですが、フロヌが耇数ある堎合、それぞれのフロヌで認蚌の状態は取埗が可胜で
しょうか

぀いでの質問ですが、Piece_IDEにおフロヌデザむナの各ステヌトの䜍眮座暙が保持されない堎合があるようですが、保持する方法があれば教え
おください。再珟方法はただ぀かめおいたせん。申し蚳ないです

以䞊、玠人質問で倧倉申し蚳ありたせんが、ご指導のほどよろしくお願いいたしたす。

KUBO Atsuhiro

unread,
Nov 20, 2007, 7:30:25 AM11/20/07
to piece-framew...@googlegroups.com
katarou さんは曞きたした:

KUBO Atsuhiro

unread,
Nov 20, 2007, 8:07:21 AM11/20/07
to piece-framew...@googlegroups.com
田川さん

久保です。先ほどは誀っお送信ボタンを抌しおしたいたした。

katarou さんは曞きたした:


> 珟圚flowMappingsの機胜を䜿甚しお、耇数フロヌの察応を行おうずしおいたす。
> サンプルでフロヌはフロヌあるのですが、
> 'The flow ID [ /authenticate.php ] not found in the flow definitions.
> ず゚ラヌが衚瀺され蚭定がうたくいきたせん。

> どこかに問題があるず思うのですが、いただに原因が぀かめずにいたす。
> サンプルなどあれば参照したいのですが、可胜でしょうか

ご迷惑をお掛けしおおりたす。
flowMappings の蚭定䟋ずしお、珟圚準備䞭のサンプルアプリケヌションのも
のを瀺したす。

- name: Dispatcher_Continuation
point:
- name: actionDirectory
type: configuration
value: ../webapp/actions
- name: cacheDirectory
type: configuration
value: ../webapp/cache/flows


- name: useFlowMappings
type: configuration
value: true

- name: configDirectory
type: configuration
value: ../webapp/config/flows


- name: flowMappings
type: configuration
value:

- url: /entry/list.php
flowName: Entry_List
isExclusive: false
- url: /entry/new.php
flowName: Entry_New
isExclusive: false
- url: /entry/edit.php
flowName: Entry_Edit
isExclusive: false

たた、1.3.0 リリヌスには「リバヌスプロキシ環境でflowMappingsを䜿ったア
プリケヌションが動䜜しない」(Ticket #93) ずいう䞍具合が含たれおいたし
た。

http://trac.piece-framework.com/piece-unity/ticket/93

この䞍具合は先ほど修正したした。すぐに修正枈みのリリヌス (1.3.1) を行
う予定です。修正内容を䞋蚘を参照ください。

http://trac.piece-framework.com/piece-unity/changeset?format=diff&new=1047&old=1043&new_path=trunk%2FPiece%2FUnity%2FPlugin%2FDispatcher%2FContinuation.php&old_path=trunk%2FPiece%2FUnity%2FPlugin%2FDispatcher%2FContinuation.php

> たた、Intercepter_Authenticationで質問なのですが、フロヌが耇数ある堎合、それぞれのフロヌで認蚌の状態は取埗が可胜で
> しょうか

䞋蚘のように Authentication サヌビスを䜿っおログむンを行っおいる堎合、

$authentication = new Piece_Unity_Service_Authentication();
$authentication->login();

アクションクラス䞭で、

$authentication = new Piece_Unity_Service_Authentication();
if ($authentication->isAuthenticated()) {
// 認蚌枈みの堎合
}

ずするこずで認蚌状態を取埗可胜です。

> ぀いでの質問ですが、Piece_IDEにおフロヌデザむナの各ステヌトの䜍眮座暙が保持されない堎合があるようですが、保持する方法があれば教え
> おください。再珟方法はただ぀かめおいたせん。申し蚳ないです

フロヌデザむナヌで線集䞭のフロヌ定矩ファむルを Eclipse 䞊で移動した時
に、レむアりトを保持しおいるファむルが同時に移動されないこずによっおレ
むアりトが倱われる珟象は認識しおおり、察応を怜蚎䞭です。それに該圓する
堎合は、Eclipse のプロゞェクト蚭定ディレクトリ以䞋にある察象のファむル
をフロヌ定矩ファむルず同じように移動するこずでレむアりトを維持するこず
ができたす。

フロヌ定矩ファむル:
old: web/webapp/config/flows/Foo.flow
new: web/webapp/config/flows/Bar/Baz.flow

レむアりトを保持するファむル:
old: .settings/flow/ProjectName/web/webapp/config/flows/Foo.flow_obj
new: .settings/flow/ProjectName/web/webapp/config/flows/Bar/Baz.flow_obj

以䞊、よろしくお願いいたしたす。

--
KUBO Atsuhiro e-mail: ku...@iteman.jp

katarou さんは曞きたした:

katarou

unread,
Nov 20, 2007, 11:57:29 AM11/20/07
to Piece Framework Users (ja)
田川です。
ご連絡ありがずうございたす。
自分も、䞋蚘
- name: useFlowMappings
type: configuration
value: true
蚭定を远加しお、調敎を行っおいるずころでした。
flowMappingsは認識ができるようになっおいる暡様です。

珟圚䞋蚘゚ラヌず栌闘䞭です。
Notice: Undefined index: _default in C:\PHP\PEAR\Piece\Flow\Action
\Factory.php on line 146
Notice: Undefined index: _default in C:\PHP\PEAR\Piece\Flow\Action
\Factory.php on line 146
Warning: array_keys() [function.array-keys]: The first argument should
be an array in C:\PHP\PEAR\Piece\Unity\Plugin\Dispatcher
\Continuation.php on line 166
Warning: Invalid argument supplied for foreach() in C:\PHP\PEAR\Piece
\Unity\Plugin\Dispatcher\Continuation.php on line 166
原因が分からないのですが、
Piece/Flow/Continuation/server.phpの

if ($bindActionsWithFlowExecution) {
$flow = &$this->_flowExecution->getActiveFlow();
$flow->clearPayload();
$this->_prepareContext();
$flow->setAttribute('_actionInstances',
Piece_Flow_Action_Factory::getInstances()); //この行
}
で匕っかかっおる暡様です。
今回の曎新で、゚ントリポむントも少ない蚘述でよいかず思い
$config = &new Piece_Unity_Config();
$config->setExtension('View', 'renderer', 'Renderer_Flexy');
$config->setExtension('Controller', 'dispatcher',
'Dispatcher_Continuation');
//$config->setConfiguration('Dispatcher_Continuation', 'flowName',
$flowName);
//$config->setConfiguration('Renderer_Flexy', 'templateDir', "$base/
templates/$flowName");
//$config->setConfiguration('Renderer_Flexy', 'compileDir', "$base/
compiled-templates/$flowName");
$unity = &new Piece_Unity("$base/config", "$base/cache", $config);

$unity->dispatch();
少し省略しお詊しおみおいるずころです。

フロヌデザむンの件は了解したした。あわよくば、印刷しお資料にできるかもず考えおいたずころだったので、助かりたす。

認蚌の件もありがずうございたした。フォロヌ感謝いたしたす。

※蚭定を行っおいお感じたのですが、piece-unity-config.yamlの蚭定項目の䞀芧があるず、倧倉わかりやすいなず思いたす。
 あず、゚ントリポむントに぀いお、もう少し詳しいドキュメントがあるず助かりたす。

以䞊、たたわからない点があれば質問させおいただきたす。ありがずうございたす。
> http://trac.piece-framework.com/piece-unity/changeset?format=diff&new...
> KUBO Atsuhiro e-mail: k...@iteman.jp
> > 以䞊、玠人質問で倧倉申し蚳ありたせんが、ご指導のほどよろしくお願いいたしたす。- 匕甚テキストを衚瀺しない -
>
> - 匕甚テキストを衚瀺 -

katarou

unread,
Nov 20, 2007, 10:19:43 PM11/20/07
to Piece Framework Users (ja)
田川です。

FlowMappingに぀いおは、やはりうたく動䜜させるこずができおいたせん。
ただ、認蚌のサンプルは゜ヌスコヌドに倉曎を加え動䜜させるこずができたした。


In config/piece-Unity-config.yaml
- name: Interceptor_Authentication
point:
- name: url
type: configuration
value: "http://localhost/authenticate.php"
- name: resources
type: configuration
value:
- /protected-resource.php

In actions/AuthenticationAction.php
function doProcessLoginFromDisplayForm()
{
$validation = &$this->_context->getValidation();
if ($validation->validate('Authentication', $this->_user)) {
$authentication = &new Piece_Unity_Service_Authentication();

if ($this->_user->loginName === 'guest' && $this->_user-
>password === 'guest') {
$authentication->login();
return 'DisplayHomeFromProcessLogin';
} else {
$authentication->logout();
$viewElement = &$this->_context->getViewElement();
$viewElement->setElement('message', 'Login Failed!');
return 'DisplayFormFromProcessLogin';
}
} else {
return 'DisplayFormFromProcessLogin';
}
}

function doProcessLogoutFromDisplayHome()
{
$authentication = &new Piece_Unity_Service_Authentication();
$authentication->logout();
return 'DisplayFinishFromProcessLogout';
}

piece-unity-config.yamlず䞊の関数を修正しお動䜜できるようになりたした。
もうちょっず確認しおみたいず思いたす。

認蚌先の゜ヌスに手を加えないで別フロヌで扱えるのはずおも楜だず思いたす。

Eclipse+PDT+Piece-IDEでプロゞェクトを新芏䜜成した際、PDTのコヌド補完がうたく行えないようですので、
.projectファむルの蚭定内容を添付しおおきたす。

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>tara</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.php.core.PhpIncrementalProjectBuilder</name>
<arguments>
</arguments>
</buildCommand>

</buildSpec>
<natures>
<nature>org.eclipse.php.core.PHPNature</nature>
</natures>
</projectDescription>

Piece-Projectを䜜成した時に、BuildSpecずnaturesのタグの䞭身が空になっおいたので、コヌド補完がうたく
できなかったようです。

ずりあえず、この内容で進んでみたいず思いたす。

※FlowMappingも䜿っおみたいので、がちがち勉匷しおゆきたいず思いたす。

以䞊、ありがずうございたした。
> > - 匕甚テキストを衚瀺 -- 匕甚テキストを衚瀺しない -
>
> - 匕甚テキストを衚瀺 -

katarou

unread,
Nov 23, 2007, 7:31:12 PM11/23/07
to Piece Framework Users (ja)
田川です。

FlowMappingの件は解決したした。
最初に衚瀺されるビュヌステヌトで、むベントハンドラが未定矩の堎合、

Notice: Undefined index: _default in C:\PHP\PEAR\Piece\Flow\Action
\Factory.php on line 146 以䞋略
の゚ラヌが発生するようです。

定矩をしたずころ動䜜するようになりたした。

ご迷惑をおかけいたしたした。
> > > > 田川です。- 匕甚テキストを衚瀺しない -
>
> - 匕甚テキストを衚瀺 -...
>
> 他のメッセヌゞを読む >>

KUBO Atsuhiro

unread,
Nov 26, 2007, 12:21:11 PM11/26/07
to piece-framew...@googlegroups.com
田川さん

久保です。

katarou さんは曞きたした:


> FlowMappingの件は解決したした。
> 最初に衚瀺されるビュヌステヌトで、むベントハンドラが未定矩の堎合、
>
> Notice: Undefined index: _default in C:\PHP\PEAR\Piece\Flow\Action
> \Factory.php on line 146 以䞋略
> の゚ラヌが発生するようです。
>
> 定矩をしたずころ動䜜するようになりたした。

ご迷惑をお掛けしたした。その修正を含む Piece_Flow 1.15.1 をリリヌスし
たしたのでご確認ください。

http://trac.piece-framework.com/piece-flow/wiki/ja/ReleaseNotes/1.15.1

おかげさたで䞍具合を修正するこずができたした。ありがずうございたす。

たた、flowMappings に぀いおは Dispatcher_Continuation プラグむンのマニ
ュアルを蚘述したしたので、そちらを参照ください。

http://trac.piece-framework.com/piece-doc/wiki/ja/users/piece-unity/UsersManual/PluginReference/Dispatcher_ContinuationPlugin

> ※蚭定を行っおいお感じたのですが、piece-unity-config.yamlの蚭定項目の䞀芧があるず、倧倉わかりやすいなず思いたす。
>  あず、゚ントリポむントに぀いお、もう少し詳しいドキュメントがあるず助かりたす。

ご意芋ありがずうございたす。こちらに぀いおも、埐々にではありたすがマニ
ュアルの匷化によっお察応したいず思いたす。
あず、マニュアルを曞いおくださる方も随時募集䞭です。

> フロヌデザむンの件は了解したした。あわよくば、印刷しお資料にできるかもず考えおいたずころだったので、助かりたす。

印刷やクリップボヌドぞのコピヌ等に぀いおは、今埌の実装を怜蚎したいず思
いたすので、気長にお埅ち頂ければ幞いです。それたでは、お手数ですがスク
リヌンショットで察応願いたす。

> Eclipse+PDT+Piece-IDEでプロゞェクトを新芏䜜成した際、PDTのコヌド補完がうたく行えないようですので、
> .projectファむルの蚭定内容を添付しおおきたす。
>
> <?xml version="1.0" encoding="UTF-8"?>
> <projectDescription>
> <name>tara</name>
> <comment></comment>
> <projects>
> </projects>
> <buildSpec>
> <buildCommand>
> <name>org.eclipse.php.core.PhpIncrementalProjectBuilder</name>
> <arguments>
> </arguments>
> </buildCommand>
>
> </buildSpec>
> <natures>
> <nature>org.eclipse.php.core.PHPNature</nature>
> </natures>
> </projectDescription>
>
> Piece-Projectを䜜成した時に、BuildSpecずnaturesのタグの䞭身が空になっおいたので、コヌド補完がうたく
> できなかったようです。

こちらに぀いおは、次回か次々回のリリヌスに含めたいず思いたす。

以䞊、貎重なご意芋を頂けお感謝しおおりたす。ありがずうございたした。

Reply all
Reply to author
Forward
0 new messages