Personal tools
You are here: Home 清水川記 Categories Zope
Document Actions

Zope

Up one level Zope

Document Actions

COREBlogのStructuredText

ところで、COREBlogのStructuredTextがよく分かりません。URLリンクの指定の仕方とか、普通のStructuredTextと違うんでしょうか?

仕方がないので今はStructuredTextの中にbrとかhrefとか書いてます。めんどくさいなぁ。

Re: COREBlogのStructuredText

Posted by aihatena at Apr 21, 2004 06:48 PM

こうすんでない?

Re: COREBlogのStructuredText

Posted by 清水川 at Apr 21, 2004 06:58 PM

"google"なら良いんだけど、"日本語"だとダメみたい。日本語のパースがうまくいってないな‥‥日本語関連のライブラリいじったから?

Re: COREBlogのStructuredText

Posted by aihatena at Apr 21, 2004 07:21 PM

ふむむ。。
あと Entry.py で

#Formats
format_plain = 0
format_stx = 1
format_html = 3
format_wiki = 2

なのに EntryPage ではWikiが無いのはなんでだろ。

Re: COREBlogのStructuredText

Posted by 清水川 at Apr 22, 2004 09:28 AM

SettingFormに0,1,2しかoptionを書いてないからですね。理由は不明だけど。

Re: COREBlogのStructuredText

Posted by at May 20, 2004 11:01 AM

今更かもしれませんが、StructuredText で日本語が扱えないのは、 Zope の StructuredText の実装が腐ってるせいです(^^;


このへん参照。
多分2.7でもまだ直ってない。

2.7だとReStructuredTextが標準で入ったようだけど、そっちだとたしょうはましなのかな?
使ったことないからわかんないや

Re: COREBlogのStructuredText

Posted by 清水川 at May 20, 2004 02:31 PM

情報ありがとうございます~。
おかげさまで、パッチを当てたら直りました。

パッチは以下のURLのを使いました。

頂いたURLで語られている状態よりはなんぼかましになっているみたいですが、2.6→2.7では全く変わっていないようです。(おかげでパッチがそのまま適用できましたが‥‥)

reStructuredText については日本語で不自由した事は‥‥ちょっとあります(^^

UTF-8を使っていると日本語の全角文字も1文字として数えてくれるのは良いのですが、テーブルを作るために列あわせをするときに半角・全角とも1文字で数えちゃうんですよね。これはZope-mlで相談したらパッチを作ってもらえました。

日本語の問題

COREblogで、UTF8表示に設定しているのにHTTPレスポンスヘッダーに8859-1とか出しているっぽいので、しかたなく blog_header の先頭に以下を追加:

  dtml-call "RESPONSE.setHeader('Content-Type','text/html;charset=utf-8')"

邪道だなぁ。

そして、ハイパーリンクの対象となる文字列に日本語を使うと、 "俺サーバー":http://www.freia.jp/ となってしまうことが判明。 なんでだろ?

Category(s)
Zope Zope

COREblogにおける日本語の問題

COREblog は標準では検索機能が使えません。HowTo に使えるようにするための手順は載っていますが、それだけでは日本語の検索がうまくいきません。原因はパーサーが日本語をパース出来ないところにあります。(自分の環境固有の話かもしれませんが‥‥)

そこで、"mojix":http://mojix.org/ 氏作の"MJSplitter":http://zope.org/Members/mojix/MJSplitter/ を導入します。このプロタクトは、形態素解析器"MeCab":http://chasen.aist-nara.ac.jp/~taku/software/mecab/ を用いて日本語を解析し、カタログ化するZCTextIndexのパーサーとして機能します。

"MJSplitter":http://zope.org/Members/mojix/MJSplitter/ を手順に従ってインストールすると、ZCTextIndexのWord SplitterとしてMJSplistterを選択できるようになります。COREblogフォルダのcontentsタブでlexiconオブジェクトを削除して、lexiconという名前でZCTextIndexを追加後、EntryタブでRecatalogすると日本語を含むカタログが生成されます。

自分の環境は以下ような感じです。

- UTF-8

- "Zope2.7.0":http://zope.org/Products/Zope/2.7.0

- "COREblog0.61b":http://coreblog.org/

- "MeCab0.76":http://chasen.aist-nara.ac.jp/~taku/software/mecab/src/

- "ipadic2.5.1":http://chasen.aist-nara.ac.jp/stable/ipadic/

- "MeCab-python-bindings0.76":http://chasen.aist-nara.ac.jp/~taku/software/mecab/bindings/

- "JapaneseCodec1.4.10":http://www.python.jp/pub/JapaneseCodecs/JapaneseCodecs-1.4.10.tar.gz

Category(s)
Zope Zope
Memo

ZWikiがiso-8859-1で表示される問題

自分はWebサイトをUTF-8で構築しているのですが、なぜかZWikiのページだけがiso-8859-1で表示されてしまっていました。ソースを表示してみると、metaタグでちゃんとcharset=utf-8と書いてあるのですが、パケットキャプチャーしてみたところ、ResponseHeaderに:

  Content-Type: text/html; charset=iso-8859-1

の1行が。

OperaはmetaタグよりもResponseHeaderを優先するので、Operaユーザーとしては見過ごせません。というかResponseHeaderとmetaタグの記述が一致してないという方が問題ですが。

そこで、Zopeのソースを眺めたり、ZWikiのソースを眺めたり、Zope-MLの過去ログを漁ったり‥‥と色々と調べてみた結果、よく分かりませんでした(笑)。そこでふと思ったのが、「apacheが何かしてるんじゃないか?」という事でした。そういえばサーバー移行のときに *ついでに* FrontEndにapache2を配置したような‥‥。

さっそくapacheのhttpd.confを修正したところ無事問題解決。1時間くらい悩んでしまいました‥‥。

変更部分::

#AddDefaultCharset ISO-8859-1
AddDefaultCharset UTF-8

ZWiki以外はContent-TypeをResponseHeaderに入れるようにしているので、省略時にDefault値をapache2が入れていた事が原因のようです。

# それはそれとして、そろそろZWikiコンテンツの内容更新しないと‥‥

Category(s)
Zope Zope
Memo

ZWikiでコメント追加後にOperaでリロードされない問題

ZWiki で以前から気になっていた挙動に、"コメント追加後にOperaでリロードされない"という問題があります。ただ、コメント追加後にリロードするとちゃんとコメントは追加されているようです。

これについてもResponseHeaderのContent-Typeを調べたとき同様パケットキャプチャーしてみたところ、POSTメソッドでコメント追加を行った後で以下のような応答がサーバーからありました::

HTTP/1.1 302 Moved Temporarily
Date: Sat, 24 Apr 2004 06:56:13 GMT
Content-Length: 0
Etag:
Location: http://www.freia.jp/taka/test/zwiki28/X_e5_ae_9f_e9_a8_93_e7_94_a8#bottom
Content-Type: text/plain; charset=UTF-8

また、ZWiki以外の掲示板ではどうなるのかな、と思って、COREblogのコメント追加で実験してみました::

HTTP/1.1 302 Moved Temporarily
Date: Sat, 24 Apr 2004 08:02:07 GMT
Content-Length: 36
Etag:
Content-Type: text/plain; charset=UTF-8
Location: http://www.freia.jp/taka/test/blog/4
X-Pad: avoid browser bug

http://www.freia.jp/taka/test/blog/4

一番の違いは、後者には本文にLocationと同じURIがあることです。もしかしたらこれが原因?と思い、"RFC2616":http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html を読んでみましたが‥‥よく分かりませんでした(^^;; ZWiki改造して本文にもURI書いたら直るかなぁ‥‥

#実はX-Padの方が原因だったりして。

Category(s)
Memo
Zope Zope

ZWikiでIssueTracker

ZWikiのIssueTrackerは使いにくいと思います。でもZopeの他のプロタクトに比べるといくらかましかもしれません。

使いにくい原因の一つとして、Issueの追加画面に利用方法とかを書いておきたいのにカスタマイズがしにくい、という点があります。というか、そもそもIssueTrackerを使えるようにするまでが苦難の道でした‥‥。

IssueTrackerを使えるようにするためには、以下のようにURLを入力します。

- http://..../FrontPage/setupTracker

しかし、これではカスタマイズ可能にはなりません。カスタマイズするためにはIssueTrackerページをコンテンツとしてコピーしてこなければいけないのです。そのためには、以下のようにします。

- ZWikiのFolderに'allow_dtml'というAttributeをbooleanで追加し、Trueに設定。

- http://..../FrontPage/setupTracker?pages=1

これで、コンテンツにIssueTracker,FilterIssueが追加されます。

Category(s)
Zope Zope

ZWikiで目次が常にFrontPageを指す問題

ZWikiで目次リンクを辿ると、ZWikiコンテンツ一覧が表示されます。現在閲覧しているページには"You are here!"というメッセージが付くのですが‥‥いつの頃からかこのメッセージが常にFrontPageに付くようになってしまいました。

この問題は少なくとも0.28.0~0.30.0で見られます。

原因はUtils.pyでURLを決定する部分が間違っているため。pageUrl()を使うべきところでdefaultPageUrl()を使っているため、現在のページではなく常にFrontPageが使われてしまうのでした。

とりあえず、 ZWiki.orgのIssueTrackerに "レポート":http://zwiki.org/IssueNo0809 を上げておきましたが、この調査をしていて気づいたことが。

Default.pyに入っているデフォルト設定を変更すると色々カスタマイズ出来るんですね。今回はとりあえず SCROLL_CONTENTS=1に変更して、目次表示時に現在のページ部分までジャンプするようにしてみました。(こうするとUtils.pyをいじらなくても問題がない‥‥明らかにバグですね)

Default.py には他にもJavaScriptの許可・ページ名変更時の旧ページ保存の可否等がありました。

Category(s)
Zope Zope

Re: ZWikiで目次が常にFrontPageを指す問題

Posted by 清水川 at May 19, 2004 12:29 PM

ZWiki.orgのIssueTrackerに投稿したはずのIssueが消えてる‥‥というか別のに置き換わってる?なんで?

Plone2.03も日本語がっ

会社の上司にZopeを紹介してみました。紹介と言っても業務ではなくプライベート の範疇で、ですが。で、Zopeを簡単に強力に使う手段として Plone (ZopeのProduct)を勧めてみました。Ploneで構築されているサイトの例としては 沖縄ITポータル が有名らしいのでついでに実例と 言うことで紹介しました。

ところで、個人的にはPloneもCMFも使ったこともないしよく分からないというのが 実情だったので、紹介しておいて知らないというのもなぁ‥‥ということで Windows版の2.03をインストールして軽くさわってみました。

Windows版、楽でイイですね。やっぱり最初の1ステップは楽な方が人に勧めるのに 抵抗がなくて良いと思います。

それはさておき、とりあえずデフォルトのトップページを日本語にしてみよう、と 思って:

  "沖縄ITポータル":http://okiit.okihawk.org/

と書いてみたのですが、リンクになってくれません。しかし、 先日の件 もあり、すぐに ZopeのStructuredTextが腐っ てるんだ!と思いつき、さくっと対応できました。

パッチは ここ のを当てて、修正したpyファイルを手動で再コンパイル。再コンパイルの方法は、 pythonのMLで教えてもらった方法で手軽に(?)行いました:

  > cd (ploneインストールフォルダ)\Zope\lib\python\StructuredText
  > (ploneインストールフォルダ)\python\python.exe
  --python起動--
  >>> import DocumentClass
  >>> import STletters
  >>> (Ctrl-Zで終了)

ところで、このコンパイル方法って本当に手軽なのでしょうか?pycが無い場合は自 動的にコンパイルして生成してくれる方法がありそうな気がします。

Category(s)
Zope Zope
python python
« March 2010 »
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
About this blog
Zope, Python, FreeBSD, その他色々について。つまり日記か。
Recent comments
現在翻訳中! しみずかわ Jan 23, 2010
パッチ使わせていただきます 檜山正幸 Dec 21, 2009
いまきづいた jack Dec 19, 2009
Re:讃岐うどん 新宿 楽釜製麺所 jack Dec 19, 2009
Re:讃岐うどん 新宿 楽釜製麺所 とか★ちん Dec 19, 2009
Error
There was an error while rendering the portlet.