ページをコピーした際にワークフローに送られず即時公開になってしまう?

2015年4月10日 at 10:49

お世話になります。

現在上級権限モードで「ページの移動とコピー」「変更を承認」にワークフローを設定しております。
「ページを移動」した際には管理者の承認完了後に処理が適用される旨、通知が表示されるのですが
「ページをコピー」した際には通知が表示されず、そのままページが作成されます。

作成されたページを訪問し、バージョンを確認すると「承認者」の項目は空になっておりました。
この状態で、非ログイン状態で作成されたページを訪問すると表示されてしまいます。

ページをコピーする際にはワークフローは適用されないのでしょうか?


制作環境は下記になります。

=====
# concrete5 Version
5.6.3.3

# Server Software
Apache/2.2.26 (Unix) mod_fastcgi/2.4.6 mod_wsgi/3.4 Python/2.7.6 PHP/5.5.14 mod_ssl/2.2.26 OpenSSL/0.9.8za DAV/2 mod_perl/2.0.8 Perl/v5.18.2

※mamp バージョン 3.0.6 (3.0.6)です。
===

firefox最新版 / google chrome最新版にて確認しております。

同じような状態を経験された方がいらっしゃれば、
何かお知恵を貸していただければ幸いです。

よろしくお願いいたします。

タグ:

Re: ページをコピーした際にワークフローに送られず即時公開になってしまう?

2015年4月10日 at 10:57
念のための確認ですが、
「ページをコピー」の権限にもワークフローを設定する必要がありますが、
その設定を無視して起こっているということでしょうか?
 

Re: ページをコピーした際にワークフローに送られず即時公開になってしまう?

2015年4月10日 at 11:04
早速ありがとうございます!

「ページの移動またはコピー」ではなく「ページをコピー」の権限設定項目があるのでしょうか?
 

Re: ページをコピーした際にワークフローに送られず即時公開になってしまう?

2015年4月10日 at 13:27
いえ

「ページの移動またはコピー」の権限であっています。すいません。
そこにも「ワークフロー」の設定がされているのに不具合がでているということでしょうか?
 

Re: ページをコピーした際にワークフローに送られず即時公開になってしまう?

2015年4月10日 at 13:33
ありがとうございます。

はい、該当の権限にワークフローの設定を行なっております。

先程5.6系の最新版を同じ環境でクリーンインストールして
同様の操作を試した所、同じ現象が見られました。
 

Re: ページをコピーした際にワークフローに送られず即時公開になってしまう?

2015年4月10日 at 13:36
あ、こちらでも、テストサイトで確認しました。

ページの移動はきちんろワークフローに送られますが、
ページのコピーは送られませんね。

concrete5 のバグの可能性があります。
ちょっと確認しますね。

ありがとうございます!
 

Re: ページをコピーした際にワークフローに送られず即時公開になってしまう?

2015年4月10日 at 14:28
ちなみに、試しに有料版の多段階ワークフローで試してみましたが、
そちらはきちんと、ページコピーを行ったらワークフローに送られたので、
concrete5 に標準装備している無料版の不具合かもですね・・・。
 

Re: ページをコピーした際にワークフローに送られず即時公開になってしまう?

2015年4月10日 at 19:56
う〜ん、なるほど・・・
何か解消できる策があれば良いのですが・・・

こちらでもちょっとソースを追ってみます!
 

Re: ページをコピーした際にワークフローに送られず即時公開になってしまう?

2015年4月10日 at 23:36
ソースコードを確認しましたが、sitemap_drag_request.php の COPY の部分で、ApprovePagePageWorkflowRequest も MovePagePageWorkflowRequest も起動されていませんので、ワークフローは通りません。また、MovePagePageWorkflowRequest#approve() の処理を見る限り、ページの移動のみの対応です。で、sitemap_drag_request.php で ApprovePagePageWorkflowRequest を通すようにしてみました。それ自体はうまくいったのですが、ページはログインしなくても見えてしまいます。これは、ページの新規作成時のみ付けられる cvIsNew フラグが関係していそうです。…というわけで、私の意見としては「無理。仕様。」という感じです…。
 

Re: ページをコピーした際にワークフローに送られず即時公開になってしまう?

2015年4月11日 at 10:06
5.7でも同様だったためGitHubでリクエストを投げたところ、将来バージョンで対応、優先度高の指針が付けられました。5.7の実装を見て、5.6にフィードバックする形で取り込みたいと思います。
http://github.com/concrete5/concrete5-5.7.0/issues/2216

いずれにしても現状では無理という結論になりますので、ページの移動はワークフローを承認する権限のある方のみに限定していただくことになるかと思います。
 

Re: ページをコピーした際にワークフローに送られず即時公開になってしまう?

2015年4月13日 at 11:05
おぉ、なるほど・・・
委細了解いたしました。

とりあえず、運用方法でカバーする方向で対応したいと思います。

ありがとうございました!
 

Re: ページをコピーした際にワークフローに送られず即時公開になってしまう?

2015年4月16日 at 22:26
追記でございます。

クライアントさん的にはページを複製した瞬間から閲覧できてしまうのが
う〜ん、な感じでしたので
Eventsのon_page_duplicateにフックして表示権限を変更することで対応することにしました。

菱川さんブログの下記エントリーを参考にさせていただきました。

http://notnil-creative.com/blog/archives/2724

ありがとうございます。