• mini blogの動作について#

  • MEGU Reply #1, 5 years, 4 months ago

    Reply
    こんにちは。よろしくお願い致します。
    MODx0.9.5をインストールしますと、サンプルサイトができあがりますが、
    そのなかのmini blogの動作について…なのですが。。

    まず、mini blog How to にありますように、
    1.ウェブユーザを作り、ウェブアクセス許可「Site Admins」にチェックします
    2.1.で作ったアカウントでログインすると「add a blog entry」が現れます

    で、そこでの動作なのですが、
    問題点(1)
    1.日付入力のためのカレンダーアイコンをクリック
    2.カレンダーがポップアップ表示
    3.次の月(または前の月)、次の年(または前の年)アイコンをクリックすると、not foundになる
    このとき以下のようになっていて
    The requested URL /Mx/manager/media/calendar/manager/media/calendar/calendar.html was not found on this server.
    …これってなんかパスが変ですよね…??

    問題点(2)
    1.とりあえず、タイトル、ヘッドライン、日付、概要、本文を入力
    2.「blog it!」をクリック
    …すると、MODxに用意されている「Uh oh ... it's a 404! (Page Not Found)」が現れます
    この時、アドレスバーのアドレスは、「http://ドメインとか/112.html」とかになっています。
    「112」は新しくできた(できる?)ドキュメントIDです。

    2.でblog it!をクリックした後、「NewsPublisher」の仕様では、たった今投稿したドキュメントが
    現れるはずだと思うのですが、それが「ない」と言っている…のでしょうか…。

    確かに、Dittoで表示させているところ(ブログのインデックスと言えばいいでしょうか)にも現れません。
    しかし、管理者権限でログインし直すと、ドキュメント「112」は存在しています。
    この時、「112」を開き、「保存」するとDittoで表示させている部分に、
    ドキュメント「112」が初めて現れます。

    こういう動作で正常(そういう仕様)でしょうか…?
    あるいは、みなさまの環境では、動作が異なりますでしょうか。
    試された方おられましたら、どうぞ教えてください。
    よろしくお願い致します。

    サーバーはさくらインターネットです。
    php.iniは以下を設定しています
    short_open_tag = off
    allow_url_fopen = off
    register_globals = off
    cgi.fix_pathinfo=1

    よろしくお願いします。


  • MEGU Reply #2, 5 years, 4 months ago

    Reply
    こんにちは。自己レスなのですが。
    問題点のうち、ひとつは原因がわかりました。

    問題点(2)
    1.とりあえず、タイトル、ヘッドライン、日付、概要、本文を入力
    2.「blog it!」をクリック
    …すると、MODxに用意されている「Uh oh ... it's a 404! (Page Not Found)」が現れます

    これは、フレンドリーURLを使用している場合におこるようです。
    フレンドリーURLの使用をやめ、「add a blog entry」からポストしたところ、
    「NewsPublisher」の仕様通り、ポストしたドキュメントが、表示されました。


  • nori Reply #3, 5 years, 4 months ago

    Reply
    みなさん あけましておめでとうございます。

    私のサイトもmini blogの動作においてはMEGUさんのいわれた通りの現象です。
    環境はレンタルサーバーと、自社にて2つのサイトをMODx化しましたが、2サイト
    共に同様の症状です。 両サイト共にフレンドリーURLを使っています。

    問題点(1)
    次の月(または前の月)、次の年(または前の年)アイコンをクリックすると、
    not foundになります。 パスもMEGUさんの指摘と同様です。
    カレンダーのJavaScriptを修正すれば良いのかと思いますが、それだけの
    スキルがありませんので、そのまま使っています。

    問題点(2)も全く同じ状況です。Dittoで投稿記事のインデックスを生成表示
    させていると、ドキュメントが生成されていても、反映されませんがNewsListing
    では、新しい投稿が表示されます。

    自社の利用かつ、自分でのサイト更新がほとんどですので、そのまま使ってい
    ますが、それを他のユーザーに使わせる事を考えると、ちょっと問題ですね。

    P.S MODxもSEO効果は良いですね、新しくMODxにて作成したサイトは
    ヤフーでの検索順位が12位も上がりました。


  • custar Reply #4, 5 years, 4 months ago

    Reply
    こんにちは。

    Quote from: MEGU at Jan 11, 2007, 09:09 AM
    フレンドリーURLを使用している場合におこるようです。
    フレンドリーURLの使用をやめ、「add a blog entry」からポストしたところ、
    「NewsPublisher」の仕様通り、ポストしたドキュメントが、表示されました。

    以前サンプルとして入れていた v095 で確認しました。windows 環境ですので
    全く同じではありません。

    1) インストール
    2) install ディレクトリ残したまま
    3) 問題点(1)の支持に従って操作
    4) スクリプトエラーのメッセージが出た
    5) カレンダーが出た
    6) 取り敢えず全部入力してボタンを押すと
    7) スクリプトエラーが出たけど消して
    無事表示されました

    ...問題ありませんでした。

    インストールして直ぐに取り掛かっているので、manager で friendlyURL の設
    定云々は全くやっていません。

    では、次に friendly url を設定してみましょう。


  • custar Reply #5, 5 years, 4 months ago

    Reply
    [table]
    [tr][td]Use friendly aliases[/td][td]: Yes[/td][/tr]
    [tr][td]Use friendly alias path[/td][td]: Yes[/td][/tr]
    [tr][td]Allow duplicate aliases[/td][td]: Yes[/td][/tr]
    [/table]

    という設定でカレンダーボタンを押してみると、URL が
    (誤) http://localhost/work/modx095/modx-0.9.5/ blog/manager/media/calendar/calendar.html?datetime=1168580121618&id=0
    (正) http://localhost/work/modx095/modx-0.9.5/manager/media/calendar/calendar.html?datetime=1168580121618&id=0
    と(誤)のようになってしまいました。これはおかしい。(正)のようになって欲
    しい。Friendly URLs を使った時のパスがおかしい。

    url を手作業で変更して日付を入力した後、[Blog it] を押すと生成されたページの url は
    (誤) http://localhost/work/modx095/modx-0.9.5/48.html
    (正) http://localhost/work/modx095/modx-0.9.5/ blog/article-1168580350.html
    と(誤)のようになりました。これもまたおかしい。(正)のように alias が使わ
    れるべき。

    次に、

    [table]
    [tr][td]Use friendly aliases[/td][td]: No[/td][/tr]
    [tr][td]Use friendly alias path[/td][td]: No[/td][/tr]
    [tr][td]Allow duplicate aliases[/td][td]: Yes[/td][/tr]
    [/table]

    と変更して
    http://localhost/work/modx095/modx-0.9.5/48.html
    にアクセスしても Not Found でした。

    それで manager で8 の published を確認すると、チェックされていなかっ
    たので手動でチェックをしましたが、保存してもチェックが付いた状態になり
    ません。でも、アクセスは可能になりました。

    おかしい!


    以上、ばたばたとやってるから間違っているかもしれないので、要確認。


  • MEGU Reply #6, 5 years, 4 months ago

    Reply
    noriさん。custarさん。ありがとうございます。
    私ももう一度やってみました。

    mini blogの「add a blog entry」」において、

    (1)ポップアップするカレンダーの前の年/次の年、前の月/次の月アイコンを
    クリックした時のURL(パス)がおかしい

    (2)フレンドリーURLを使用した時、「blog it!」をクリックした後、
    アクセスされるべきURLがおかしい(ドキュメントID.htmlになってる)

    (3)管理者権限でログインして該当ドキュメントを保存しなおなさいと、
    Dittoに反映されない

    ですよね。ただ、noriさんのお話からすると、Dittoではなく
    NewsListingなら、管理者権限で保存し直さなくても、
    表示される、ということですよね??とすると、ここの部分だけ
    (投稿記事が反映されない)は、Ditto側にも何か問題があるのでしょうか。。

    再確認した結果を書きます。
    (1)カレンダーのURLの件
    私の環境では、フレンドリーURLを使用していても使用していなくても、
    カレンダーのパスに違いはありませんでした。

    (2)blog it!でポスト後のドキュメントの公開状態
    私の環境では、「公開」になっていました。


  • zero_07 Reply #7, 5 years, 4 months ago

    Reply
    結構問題ありますねぇ
    1つだけ解決しました。
    カレンダーの問題ですが、ChunkのFormBlogの以下の部分をフルURLか、/をつければ直ります。
    nwpub_cal1.path="manager/media/";
    


    Aliasの問題は、んーーわかりそうでわからない


  • MEGU Reply #8, 5 years, 4 months ago

    Reply
    ZeRoさん。
    ありがとうございます!

    (1)ポップアップするカレンダーの前の年/次の年、前の月/次の月アイコンを
    クリックした時のURL(パス)がおかしい…解決

    ChunkのFormBlogのJavascript 内
    nwpub_cal1.path="manager/media/";


    nwpub_cal1.path="[(site_url)]manager/media/";


  • MEGU Reply #9, 5 years, 4 months ago

    Reply
    もう一個解決しました(たぶん…)。

    (3)管理者権限でログインして該当ドキュメントを保存しなおなさいと、
    Dittoに反映されない…解決

    NewsPublisher の呼び出し側で、パラメータ「&clearcache=`1`」を指定すると
    ポストの後、Dittoでの出力に反映されるようです。

    ということで、残りは、
    (2)フレンドリーURLを使用した時、「blog it!」をクリックした後、
    アクセスされるべきURLがおかしい(ドキュメントID.htmlになってる)

    ですが、ポストの後、「 Uh oh ... it's a 404! (Page Not Found)」のページを
    表示させないことで、トラブルを隠すことは可能。

    パラメータ「&postid=`2`」を指定。
    これは、ポスト後に表示するドキュメントIDを指定します。
    ここで、ブログインデックスを指定しておけば、とりあえず、
    つじつまの合う動きになるかなと。。苦肉の策…。


  • custar Reply #10, 5 years, 4 months ago

    Reply
    こんばんは。

    Quote from: ZeRo at Jan 12, 2007, 03:26 AM
    nwpub_cal1.path="[(site_url)]manager/media/";
    この対処は "Use friendly alias path" の NOTE に書かれている通りです。

    Use friendly alias path

    NOTE:
    When setting this option to 'Yes' (turning on alias paths), reference
    items (such as images, css, javascripts, etc) using the absolute path:
    e.g., '/assets/images' as oppose to 'assets/images'. By doing so you
    will prevent the browser (or web server) from appending the relative
    path to the alias path.


    Quote from: MEGU at Jan 12, 2007, 07:28 AM
    (2) フレンドリーURLを使用した時、「blog it!」をクリックした後、
    アクセスされるべきURLがおかしい (ドキュメントID.htmlになってる)
    これは、ドキュメントが登録された後、$modx->documentListing が更新されて
    いない事が原因だと思います。

    スニペット NewsPublisher のパラメータに &clearcache を設定すると、説明
    の通り、assets/caches/siteCache.idx.php が更新されると思われます。
    &clearcache - when set to 1 the system will automatically clear the site cache after publishing an article.

    DocumentParser クラスがロードされた時に $modx->documentListing は初期化
    されますので、その後投稿された内容は、$modx->documentListing には反映さ
    れていないようです。

    $modx->documnetListing の中に指定された id はないので、仕方なく id のま
    ま url に使われたという次第のようです。

    ですので、投稿後に $modx->documentListing を更新してやれば正しい
    FriendlyURLs を得られると思います。


    ....で、データの更新を正しくやる手順が未だ分かっていません。


    p.s.
    ----
    これが ditto というものだったのですね、今まで知りませんでした。