hypweb.net
XOOPSマニア  最新情報のRSS(サイト全体)
[ 自宅サーバーWebRing |ID=54 前後5表示乱移動サイト一覧 ]

19年4月20日(Sat) 2時48分
TOP » フォーラム » XOOPS » xpWiki » XCLで xpWikiレンダラーをサイトに適用した時のinclude表示権限

XCLで xpWikiレンダラーをサイトに適用した時のinclude表示権限


Posts tree


Previous post - Next post | Parent - Children.1 .2 .3 | Posted on 2007-12-29 0:26 | Last modified
naaon  常連さんスーパー!   Posts: 192

nao-ponさん、こんにちは。

最近、特に権限関連でお世話になっています、naaonです。 度々お世話になっておりまして、どうもありがとうございます。

今日は、xpWikiレンダラーを組み込んだ、Xoops Cube Legacy 2.1.2 (及び2.1.3RC)の表示権限についての質問とご相談です。 :-D

経緯

  1.  先日まで、Xoops Cube 2.0.16a-JP でMyTextsanitizerのハックでxpWikiレンダリングをしていた限りでは問題がなかった動作です。
  2.  今回、新サイト構築のために、XCL2.1.2 (及び2.1.3RC)で、同様の動作になるかどうかを検証中に、違う挙動に出くわしました。
  3.  内容
    1.  サイト内のd3forumの公開カテゴリ・公開フォーラムの記事で、
      1
      
      #include(とある非公開ページ)
      とやってみると、ゲスト非公開設定のはずの「とある非公開ページ」が表示されてしまいました。
    2.  xpWiki内で、公開ページで非公開ページをincludeしても、「とある非公開ページ は閲覧制限がかかっているためincludeできません」 と出て大丈夫でした。
    3.  同じことを、2.0.16a-JP のサイトでやった場合も、「とある非公開ページ は閲覧制限がかかっているためincludeできません」 と出て大丈夫でした。
    4.  例のxpWikiコメントをコメント統合している場合の非公開ページへのコメントには、defaultでページ名が入りますので、ページ名は公知になります。 そこで上記の手順でd3forumで記事を書くかプレビューすると、その中身がわかってしまいます。 :-o

動作環境

  1.  php 5.2.3、mysql 5.0.27 (Linux)
  2.  Xoops Cube Legacy 2.1.2 (及び2.1.3RC)
  3.  d3forum-0.81
  4.  xpWiki-3.51
    1.  XCL向けのサイタイズは、こちらのページ をそのまま利用させていただいています。 ・・ 一点違うのは、「SetupHyp_TextFilter.class.php」ファイルの置き場所が、 XOOPS_ROOT_PATH/class/preload/ ではなく、XOOPS_ROOT_PATH/preload/ であることだけです。
    2.  pukiwiki.ini.php 内の // 編集権限をプラグインでの書き込みにも適用する
      $root->plugin_follow_editauth = 1; としています。

テストサイト

  1.  テストサイト ・・ XCL2.1.2です。
  •  どこか勘違いしている部分もありそうですので、その辺のご指摘も含めて、ご教示いただきたく、よろしくお願いします。
  •  この場にこの記事をおいておくのはまずい気もしますので、その場合はどうぞ非公開とするなど対応をお願いします。 m(..)m

追伸

  •  Wikiレンダラーに期待する理由の一つは、フォーラムやブログで ファイル添付をスマートに、かつ閲覧権限まできちんと連動してくれるものを探して、Attachfileモジュールなども使ってみているのですが、 xpWikiの簡単さ・自由度の高さに適いません。
  •  ただ、フォーラム記事などに直接xpWikiレンダラーで添付すると、ゲストがアクセス可能な1つのファイルに添付される仕組みになっているので、 非公開が保てません。
  •  よって、記事の中身も添付もきちんとxpWikiで書いて閲覧権限を制限したうえで、フォーラムにはincludeすることで、権限の問題も 添付の非公開の問題も解決される、と考えています。
Votes:1 Average:10.00
Reply
Previous post - Next post | Parent - Children.1 | Posted on 2007-12-29 1:19 | Last modified
nao-pon  Webmaster From: 愛知県  Posts: 5799

naaon さん、詳細なレポートありがとうございます。

レンダラーモードでの閲覧権限は、実際のところよく考えていなかったので、キャッシュ周りで詰めが甘いかもしれません。

ファイル添付に関しても、仕様をもっと煮詰めたほうがよさそうですね。

レンダラーモードで閲覧権限を確保する仕様を考えて見ます。 :-)

Votes:0 Average:0.00
Reply
Previous post - Next post | Parent - Children.1 | Posted on 2007-12-29 7:44 | Last modified
naaon  常連さんスーパー!   Posts: 192

nao-ponさん

早速のコメントありがとうございます。

 今、↑で書いた私のテストサイトを見たら、きちんと閲覧ブロックされていました。でもログインしても表示されません。。 やはりcacheでしょうか。 一方でXCL2.1.3RCのほうはまだ表示されていました。 :roll:

 レンダリングモード、便利な分、他のモジュールとの関連が色々出てくるので、仕様を考えるだけでも大変ですね。 私ができるお手伝いは、検証くらいなものですみません。

 ついでに、xwordを入れてAutoLinkにも挑戦。 XOOPSマニアサイトの情報を使って設定し、XCL2.1.3RCでうまく動作しているようです。 また、これもWikiレンダラーを経由することで、他モジュールからxwordへの間接AutoLinkが実現できています。

 ということで、活用の幅がどんどん広がるWikiレンダラー。 どうぞよろしくお願いします。 :thumb_up:

Votes:0 Average:0.00
Reply
Previous post - Next post | Parent - Children.1 .2 .3 | Posted on 2007-12-30 12:01 | Last modified
nao-pon  Webmaster From: 愛知県  Posts: 5799

Ver 3.52 にて、次の仕様にしてみました。

  • プラグインなどでページ閲覧権限をチェックした場合は、レンダリングキャッシュを無効にする。
  • プラグインで、レンダラーモードで実際にファイル添付をするページの指定をできるようにした。
    • #renderattach(ページ名) と記述するとそれ以降、その投稿でファイル添付するページを切り替えることができます。
      ただし、実際のページ名は、$root->render_attach/ページ名 となります。
      $root->render_attach は初期状態で「:RenderAttaches」になっていますので、#renderattach(ログインユーザー専用)とした場合は、ファイル添付されるページは、:RenderAttaches/ログインユーザー専用 となります。
      なお、このページは予め作成しておく必要があります。

こんな感じで如何でしょうか。また、いいアイデアがあれば、ぜひお知らせください。 :-)


テスト

filetest.txt IMG_0411s.jpg

Votes:0 Average:0.00
Reply
Previous post - Next post | Parent - No child | Posted on 2007-12-31 22:59 | Last modified
naaon  常連さんスーパー!   Posts: 192

nao-ponさん

こんばんは! 早いです〜。まさか今年中に実現いただけると思っていなかったのでびっくりです。 :-o

早速 ver3.52にアップして、確認致しました!

  1.  レンダリングを含むd3forum記事中に、閲覧制限をしたページを#includeしてみました。 ログイン/ログアウトすることで表示/非表示 が切り替わることを確認しました。 そして、この仕様は #includeだけでなく、#ls2やその他プラグインについて、閲覧権限が機能するように反映されるのですね。 どうもありがとうございます。
  2.  事前に閲覧権限を設定したページ「:renderattaches/一般メンバー限定」を作成し、d3forum記事中で
    1
    2
    
    #renderattach(一般メンバー限定)
    &ref(UNQ_20071231223354375); (←wikiヘルパーのクリップアイコンで作成)
     と書いて保存。 表示された「添付」アイコンでアップロードし、ログイン/ログアウトすることで表示/非表示 が切り替わることを確認しました。
    1.  更に、「:renderattaches/限定メンバーA」「:renderattaches/限定メンバーB」なども作成して権限を設定、 同様に権限が有効に機能することを確認しました。
    2.  「限定メンバーA」が閲覧権限のない「限定メンバーB」のページにアタッチしようと記事を書いても、[File display right none] となることを確認しました。
    3.  一つの記事中に、
      1
      2
      3
      4
      5
      6
      
      #renderattach(一般メンバー限定)
      &ref(UNQ_20071231223354375);
      #renderattach(限定メンバーA)
      &ref(UNQ_20071231224008296);
      #renderattach(限定メンバーB)
      &ref(UNQ_20071231224018828);
      として添付しても、全て「:renderattaches/一般メンバー限定」ページにアタッチされることを確認しました。
    4.  xpWikiページ内で 
      1
      
      #renderattach(一般メンバー限定)
       と書いても機能しないことを確認しました。

 いやあ、短時間でここまで分かりやすくて一般化した仕様を決めて実装するなんて、すごいです。 そしてその仕様も、とても的を得ていると拝見します。

 ここまでで私ももう十分だと思いますし満足なんですが、皆さんに向けて更に便利にするとしたら、以下の機能があると良いですね。 :D

  •  
    1
    
    #renderattach() ←括弧内は空欄
     と書くと、
     
    1
    
    &ref();
     と書いた時や wikiヘルパーのクリップアイコンを使ったときのように、ページ指定するリンクが出来てきて、クリックすると、「:renderattaches」以下の閲覧・書き込み権限のあるページリンクが一覧され、それをクリックすると、括弧内にページ名が入って添付先が指定される。
  •  上記の2.-iiiの場合のように、1ページ中に2回以上ページ指定できるようにすることで、添付先をページ内で切り替える。

 ・・ すみません、好き勝手言ってますね。 :hammer:
  2つめは用途はかなり少ないと思います。 一つめは、あると便利ですけどね、ぜいたく品です。

 以上です。どうもありがとうございました。 :)  本年中にお返事できてよかった〜。

Votes:0 Average:0.00
Reply
Previous post - Next post | Parent - No child | Posted on 2008-1-1 17:01 | Last modified
naaon  常連さんスーパー!   Posts: 192

nao-ponさん、

今年もよろしくお願いします。 :)
年初めの日から、自己レスですみません。

自サイト公開の日が近づいてきているので、レンダーモードの添付をいろいろ考えて触っているのですが、 (今更ですが)refプラグイン自体にページ名指定ができることに気付き、レンダーモードでページ名指定で画像を貼ってみました。 以下、もし何か問題がありそうでしたらご指摘ください。

方法

予め、ページ名「メンバー限定ページ」 を作って閲覧・編集権限を設定します。(ゲストに非許可)

これで、wikiヘルパーのクリップアイコンで

1
&ref(UNQ_20080101162744406,mw:240,mh:240);

などとテキストボックス本文に表したところで、このファイル名の前に 「メンバー限定ページ/」 と追記して送信。 下のようになります。

1
&ref(メンバー限定ページ/UNQ_20080101162744406,mw:240,mh:240);

これで現れた「添付」アイコンでいつものようにアップロードすれば、OKですね。 :D

使い分け

  • 1記事に1〜2個程度の添付なら、上記refでページ名を指定する方法。
  • 1記事に多数の添付なら、renderattachで一括して指定する方法

という感じで使い分けてみます。

追伸(またまたお願い)

 refでページ名指定した場合で、以下のように挙動が少し変わる場合があります。

  • ゲストに対して閲覧権限の無い添付は記事中「File display right none」と表示されてOK。
  • 「メンバー限定A」「メンバー限定B」 というお互いに閲覧権限の無いページへの添付で記事で書いたとき、 閲覧権限の無い添付/画像は「File display right none」とならず、リンク先ページ名とファイル名がソースに表示され、元ファイル名が記事に載った状態となりました。

 後者のパターンも「File display right none」と表示させたいので無い知恵を絞ってます。(笑)
 ref.inc.phpの263行目

1
2
3
if (!$this->func->check_readable($lvar['page'], false, false)) {
 ↓ を
if (!$this->func->check_readable_page($lvar['page'], false, false, $this->root->userinfo['uid'])) {

に変更してみたり、

1
2
3
if ($this->root->render_mode === 'render') {
 ↓ を
if ($this->root->render_mode === 'render' && $lvar['page'] =='#RenderMode') {

に変更してみたりしましたがうまく行きませんでした。 これ以上は実力が伴わなくて。。 もし近道がありましたらご教示いただけますでしょうか。

 よろしくお願いします。

Votes:0 Average:0.00
Reply
Previous post - Next post | Parent - Children.1 | Posted on 2008-1-1 19:07
naaon  常連さんスーパー!   Posts: 192

連投すみません。。

前レスで ref(添付先ページ名) の場合を書きましたが、それと組み合わせて使う場合も考慮して、renderattachの仕様を以下のようにしてはどうでしょうか。

  1. renderattach(ページ名)と書いた場合も、ページ名部分に「:RenderAttaches/」を付加せず、記載された
    「ページ名」を添付先ページ名 とする。
  2. :RenderAttaches/」以下の下層ページに添付したい場合は、「:RenderAttaches/ページ名」とべた書き指定する。
  3. レンダリング記事のどこか1箇所でrenderattach(ページ名) を記載されると、その書き込み内でrefでページ名を書かない場合はその「ページ名」に添付される。
  4. renderattach(ページ名) のあと、その書き込み内でref(ページ名2)と書くと、その添付に限り「ページ名2」に添付され、 その前後のrefは「ページ名」に添付される。

このほうが分かりやすいし応用も利きそうですが、どうでしょうか。。 :-)

Votes:0 Average:0.00
Reply
Previous post - Next post | Parent - No child | Posted on 2008-1-2 23:29
nao-pon  Webmaster From: 愛知県  Posts: 5799

色々な提案ありがとうございます。 :-D

箇条書きで失礼します。

  • #renderattach() と記述して、フォームを表示というのは、結構難しいので今回は見送ります。
  • 「1ページ中に2回以上ページ指定できるようにすることで、添付先をページ内で切り替える。」というのは、そのように実装したつもりでしたが、バグっていましたので、修正します。
  • ref でのページを直接指定する方法は、その通りでOKです。
  • ログインユーザーが閲覧権限のない添付ファイル名が見えてしまう現象は、Wikiページの閲覧権限設定に間違いはないでしょうか?(私がきちんと検証していないので、ポカしている可能性もありますが・・・ :thinking: )
  • #renderattach プラグインでのページ指定時 :RenderAttaches/ 以下を使用しないようにするというのは、レンダラーモードでのファイル添付ページを管理者としてきちんと把握したほうがいいと現状では考えていますので、しっかりと時間をとって検討したいと思います。

こうして、色々な案を出していただくことは、とてもありがたいことです。オープンソースにしてよかったと思える瞬間でもあります。
これからも、どうぞよろしくお願い致します。 :-)

Votes:0 Average:0.00
Reply
Previous post - Next post | Parent - Children.1 | Posted on 2008-1-3 17:03 | Last modified
naaon  常連さんスーパー!   Posts: 192

nao-ponさん

いやぁ、面倒なお話を聞いていただき恐縮です。 :-D

引用:
 ログインユーザーが閲覧権限のない添付ファイル名が見えてしまう現象は、Wikiページの閲覧権限設定に間違いはないでしょうか?(私がきちんと検証していないので、ポカしている可能性もありますが・・・

 実は、レンダーモードでない普通のWikiページ間でも確認してみたのですが、

グループ名\閲覧権限ページ権限Aページ権限B
ユーザー1
ユーザー2×

というユーザー1/2と ページ権限A/Bのページで、

  1. ユーザー1がページBを作成し、「ページA/ファイル名」で refで画像を添付
  2. ユーザー2が上記ページBを閲覧すると、画像が「×印」または、元ファイル名が表示

 となりました。 XCL2.1.3RC、php5.2.3、mysql5.0.27 です。

引用:
#renderattach プラグインでのページ指定時 :RenderAttaches/ 以下を使用しないようにするというのは、レンダラーモードでのファイル添付ページを管理者としてきちんと把握したほうがいいと現状では考えていますので、しっかりと時間をとって検討したいと思います。



 なるほど、ユーザーが手当たり次第に添付先を決めだすと、どの記事がどのページに添付されているのかが把握できなくなりますね。 そう考えると、限定したほうが良いですね。。 一方で、refでページ名を指定する場合もあるし。 うーん。 :roll:

 私のほうの自サイトでは、ひとまずrefで予め決めたページを指定する方法で推奨しておきます。
 ありがとうございました。

Votes:0 Average:0.00
Reply
Previous post - Next post | Parent - Children.1 | Posted on 2008-1-3 21:45 | Last modified
nao-pon  Webmaster From: 愛知県  Posts: 5799

ページ閲覧権限の問題点を確認できました。添付ページを ref で直接指定した時の権限判断ができていませんでした。

また、#renderatatch とポリシーを揃え、ref にて添付ページを直接指定した場合は、不用意にページを新規作成されないように、もし該当ページが存在しなければエラーメッセージを表示するようにしました。結果として、添付リンクとして表示させる場合は、先にページを作成しておく必要があります。(ページ「:RenderAttaches」は除く)

今回の修正を CVS に投入して、Ver 3.52.2 としました。 :thumb_up:

Votes:0 Average:0.00
Reply
Previous post - Next post | Parent - No child | Posted on 2008-1-4 12:48
ゲスト 

nao-ponさん

refプラグインの閲覧権限の修正、ありがとうございます!
CVS の、Ver 3.52.2 で全て確認しました。 :thumb_up:

これにて、本トピはCLOSEですね。
年末年始のお忙しい時に関わらず対応いただき、本当にありがとうございました。 :shy:

Votes:0 Average:0.00
Reply
Previous post - Next post | Parent - Children.1 | Posted on 2008-1-6 8:58 | Last modified
naaon  常連さんスーパー!   Posts: 192

nao-ponさん、こんにちは。
refプラグインのほうは調子いいです。 :ok:
が、またまた includeに戻ってしまうのですが、レンダラーモードで include() を使うと、ページ作成時は良いのですが、リロードすると下記エラーで表示されません。

#include(): Included already: 添付ファイル名

キャッシュしなくなった影響でしょうか。xpWikiページ間は大丈夫です。 :thinking:
今のところフォーラムにも同じwikiをベタで書いていますので大丈夫です、お時間がある時にでも、どうぞよろしくお願いします。


追伸:
自サイトのフォーラムやブログへレンダラーモードで画像貼付と添付の際のツール選択を、↓の表のような感じで推奨にしてます。 ご覧の皆さんの参考になればと思い、貼っておきますね。

画像・ファイル添付ツール選択 anchor.png

公開エリア/メンバー限定エリアでの、画像・ファイル添付ツールの使い分け推奨です。
できるだけ、◎の方法を使うように推奨してゆきます。

08-01-10修正: Attachfileも限定エリアでは完全には使用できませんね。(実際には使えてしまいますが、d3forum以外では閲覧制限がかかりません。他のモジュールでも閲覧権限ファイルを作ればOKなのですが、面倒です。)


公開エリア限定エリア
ファイル添付○Attachfile
◎Wikiヘルパー
○Attachfile(d3forumのみ)
◎Wikiヘルパー
画像貼付◎Image Manager(マイアルバム)
○Wikiヘルパー
◎Wikiヘルパー
Votes:2 Average:10.00
Reply
Previous post - Next post | Parent - Children.1 | Posted on 2008-1-9 22:06
nao-pon  Webmaster From: 愛知県  Posts: 5799
引用:

includeに戻ってしまうのですが、レンダラーモードで include() を使うと、ページ作成時は良いのですが、リロードすると下記エラーで表示されません。

やはり、キャッシュコントロールが原因でした。Ver 3.53.1 にて修正しました。 ;-)

Votes:0 Average:0.00
Reply
Previous post - Next post | Parent - No child | Posted on 2008-1-10 5:32 | Last modified
naaon  常連さんスーパー!   Posts: 192

nao-ponさん、こんにちは。

どうもありがとうございます! ばっちりです。 :ok:

これで、XWORDSの文書内に、xpWikiで書いた実体ファイルをincludeで表示させることができます。
xpWikiで階層構造で管理するほうが絶対にやりやすいですし、権限も付けられるので応用が利きます。 最高に便利です〜。 :thumb_up:

追伸:私のサイトの記事を参考として貼っておきます。
  mc8:XWORDSにwikiレンダラー組込み

Votes:0 Average:0.00
Reply

Post into this topic

Subject
guestname
Body

  Advanced search

このページのTopへ
ログイン
ユーザ名:

パスワード:

オートログイン

Basic 認証 | SSLログイン

Register now! | Lost Password?



メインメニュー
ブックマーク
Please log in to use it.
[Login]
サイト内 Wiki
☆ 検索 ☆



高度な検索(サイト内)
FireFox検索プラグイン
オンライン状況
合計 64 人がオンライン中 :-)
(フォーラム : 4 人)

登録ユーザ: 0 & ゲスト: 64

もっと...
サイト情報
管理人

nao-pon
 

登録ユーザ数: 4604


Web Services by Yahoo! JAPAN
楽天ウェブサービスセンター
Amazon.co.jpアソシエイト
現在ページのQRコード
現在ページのQRコード
[携帯対応]
参照元情報