wiki.zope.jp
SquishdotSurfing
   
RecentChanges WikiHelp WikiPractice JumpSearch

SquishdotSurfing

添乗員: koyoshispumoniumihotaru、[]、[](従業員募集中、希望者は全員雇用します。ボランティアで^^;;)

未完成です。まだ、たくさんうそついてます(苦笑)、事故に遭遇したら添乗員迄お願いします。添乗員はいつも、一番下のコメント欄に控えています。^^;;


 初心者の皆さん!! Zopeは面白いです。皆様のZopeへの期待と目的はそれぞれ違うものをお持ちとは思いますが、先ずは、ごいっしょにSquishdotで、サーフィンしましょう!!

【ご  挨  拶】:SquishdotSurfingIntro

必要なもの : お出かけ前の持ち物チェックです。忘れると無人島に漂着とはなりませんが、先ずは準備、準備!!

  1. Zope2.5.1サーバ
    • 事前に立上がっていることを前提に話しを進めます。未だの方は、LetsBeginZWikiの最初の部分にある説明を参考に進めて下さい。
  2. Squishdot 日本語版 0.1.1 (Snapshot 2002/4/11版)Squishdot日本語パッケージ 入手先: http://www.zope.org/Members/spumoni/
    • これを入れると、一発で日本語表示のSquishdotが出来上ります。ただ、メールによる通知機能を使う場合には、jMailHostのバージョンアップに対応する為、一個所変更する必要があります。
  3. TinyTablePlusのインストールファイル 入手先: http://www.zope.org/Members/hathawsh/TinyTablePlus
    • TinyTablePlusは必須ではありませんが、導入しているとSquishdotサイトを起すときに、TinyTablePlusにデータを格納した形になります。ない場合は、各ソースに直接埋込まれてしまいます。
      • 尚、これは、漢字の様な多バイトコードを数字に展開して格納表示する様に作られている為、編集時に何が書いているか判らなくなります。そこで利用に当たっては、日本語対応の処理が必要となります。TinyTablePlusJP
  4. jMailHostのインストールファイル 入手先: http://www.zope.org/Members/yukihiro/
    • Squishdotは、投稿とそれへのコメントが入るとメールで通知する機能があります。ところが、Zope2.5.0に標準で入っているMailHostは残念ながら日本語に対応してしません。そのままだと表題や送受信者名に漢字を使っていると文字化けしますので、jMailHostを導入します。
  5. kconv 、kanjilib、JapaneseCodecsのいずれかひとつのpythonモジュール
    • jMailHostでは、pythonの漢字コード変換モジュールを利用しています。従って、jMailHostを使う時は必ず導入する必要があります。
  6. 日本語検索セット
  • その他の日用品 ( BeginnersHandicapの該当箇所 )
    1. 缶詰用の圧縮解凍機(tar/zip)
      • Windows派
        • vector あたりで探すと沢山あります。
          • LHUT32あたりがお勧め(カンパウエアです。必要となるZIPのDLLはシェアウエアです)。
          • 解凍レンジ(フリーウエア)は、DLLを使わずにやるタイプの様ですね。
          • eo - BEAMbitious 製フリーウエア。解凍専用で、追加DLL不要でtgzも対応しています。
      • Linux派
        • tar gnzip等を使うのが基本です。通常このやり方で説明します。
        • 最近では、xwindow上のファイルマネージャソフトでクリックするだけで展開の表示が出るので、それを必要な箇所にコピーすると良い。但し、ものによりユーザとグループが作業時のユーザ(例えばroot)になるので右クリックでプロパティを選び変更しましょう。
    2. パッチ用の針とはさみ(diff/patch)

皆さん、リュックの中身のチェックは終わりましたか、これから出発しますが、もし、忘れたことに気付いたら、ここ迄戻って、再出発して下さいね。それでは次に進みましょう。さあ、自分のZopeサーバーを起動して乗込みましょう。

 

 さて、皆さんZope海へようこそ。これから、Zopeをサーフィンしますが、先ずは、行程の説明を致します。これから、スキッシュドット・サイ島(Squishdot Site)に入ります。時間のない方は、残念ですが、そこでお土産を買ってお帰り下さい。またのお越しをお待ちしています。いま少しお時間のある方は、小テーブルビーチで遊んで頂けると思い出深いものとすることが出来ます。また、あなたがプロのインストラクタとして、実際にサイトを運営し多くのサーファーの来場を企画しているなら、オプションツアーのメール・ホス島へ上陸して下さい。さぁ、Squishdot本島に向けて出発です。

スキッシュドット・サイ島(Squishdot Site)

  1. Squishdotのインストール koyoshi
    • Squishdot-JP-0-1-1.tgz 」を「lib/python/Products」にコピーし、そこで、「tar zxvf Squishdot-1-4-0.tar.gz」を実行するだけ

タイニーテーブルビーチ

  • 生でもおいしい「TinyTablePlusJP」
    • TinyTablePlusJPは、Squishdotの中で利用されていますが、それ自体がSquishdotと同様の独立したプロダクトです。生の刺し身で食べたい方は、「SquishdotTinyTable」(spumoni)にそのさばき方が書いてありますので参考にして下さい。

メール・ホス島(MailHost)

 Squisdotはサイト作成時または管理(Admin)での設定変更で投稿時に管理者に対しEメール経由の通知が出来る様になります。また、投稿者も投稿時にEmailアドレスを入れ、通知するにチェックすると、コメントが付くと同様の通知を受けることが出来ます。

  • メール連携には「MailHost」の追加設定が必須。
    • Productのプルダウンリストより「MailHost」を選択。
    • 「SMTP Host」にSquishdotサーバより利用出来るSMTPサーバのアドレスを入れ「Add」ボタンをクリック。

にしきヘビ火山(Python modules)

kconv、kanjilib、JapaneseCodecsのいずれかひとつのpythonモジュールを導入

日本語の分ち書きの実現 〜 JSplitterのインストール

 Squishdotは、標準で検索機能がついています。しかし、残念なことにそのままでは、日本語の検索が出来ません。欧米のアルファベットを使用する言語の場合は、単語と単語の間にスペース等の空白文字をはさみ分ける慣行がある為、簡単に検索用のデータとしての言葉を取出すことが出来るのですが、日本語、ハングル、中国語などの東洋系言語では、言語解析を利用してその分ち書きを判断し、検索用のデータとしての言葉を取出すしかありません。ここでは、ChaSenを利用したtahara氏によるJSplitterの導入方法を説明する。

  1. ChaSenの導入
    1. 既に古いChaSenがある場合は次を実行しライブラリを削除

      # rm -rf /usr/local/lib/chasen

    2. chasen-2.2.9 のダウンロード
    3. chasen-2.2.9 の展開(解凍)

      以下、/usr/local/chasen-2.2.9に展開したものとして説明

    4. chasen-2.2.9先のディレクトリに入る

      % cd /usr/local/chasen-2.2.9

    5. ./configure の実行

      % ./configure

    6. make の実行

      % make

    7. スーパユーザになる(展開先にユーザのホームを使った場合のみ必要、ここの例の様に/usr/localへ展開は、root権限者しか通常は出来ない。)

      % su -

      (rootのパスワードを入力し完了。)

    8. make install の実行

      # make install

    以上で、エラーがなければ、ChaSen本体はOKです。/usr/local/lib/ 以下にインストールされます。

  2. ChaSen辞書の導入
    1. ipadic(ipadic-2.4.4.tar.gz) のダウンロード
    2. ipadic(ipadic-2.4.4.tar.gz) の展開(解凍)

    以下、/usr/local/ipadic-2.4.4に展開したものとして説明

    1. ipadic-2.4.4のディレクトリに入る

      % cd /usr/local/ipadic-2.4.4

      1. ./configure の実行

      % ./configure

    2. make の実行

      % make

    3. スーパユーザになる(展開先にユーザのホームを使った場合のみ必要、ここの例の様に/usr/localへ展開は、root権限者しか通常は出来ない。)

      % su -

      (rootのパスワードを入力し完了。)

    4. make install の実行

      # make install

    以上で、エラーがなければ、!ipadic-2.4.4もOKです。/usr/local/share/chasen/dic/ipadicにインストールされます。

  3. ChaSenの動作チェック
    1. ChaSenをコマンド実行(以下の様に日本語の文章を入力改行し、解析表示が出たらOKです。):
         # chasen
      
         漢字の分ち書きのテストをしています。
      
         漢字    カンジ  漢字  名詞-一般 
         の      ノ      の    助詞-連体化
         分ち書き        ワカチガキ        分ち書き  名詞-一般 
         (以下省略)
      

Pythonモジュールのインストール

 ChaSenは、普通のCで書かれたプログラムです。それをPythonで使うには、そのつなぎとなるモジュールが必要となります。それが、python-chasen です。同様に、JSplitterがカタログ抽出時に利用しているPyKfもここで導入します。

Pythonモジュールの導入方法

  • そのモジュールのソースファイルにsetup.pyが添付されている場合
    • python setup.py install 」の実行

      そのまま、「 python setup.py install 」と叩いてもいいのですが、そうすると、モジュールのインストールは、デフォルト起動のPythonに対して行われます。Zopeを導入した場合、Zopeの導入先のZopeを利用している場合が多いので、次の様に実際のpythonの実行ファイルのある場所を絶対表示で加えて実行することをお勧めします。下のはZopeが、/usr/local/Zope-2.5.1/ にインストールしてある場合の例です。

      # /usr/local/Zope-2.5.1/bin/python setup.py install

  • 添付されていない場合は、READMEファイルなどを手掛かりとして、Pythonのパスの通るディレクトリに必要なファイルをコピーします。

  1. PyKf?のインストール(setup.py付き)
    1. "pykf python module":http://www.gembook.jp/html/moin/moin.cgi/PyKfのダウンロード
    2. "pykf python module":http://www.gembook.jp/html/moin/moin.cgi/PyKfの展開(解凍)

      以下、/usr/local/PyKf に展開したものとして説明

    3. のディレクトリに入る

      % cd /usr/local/PyKf?

    4. python setup.py install」の実行(Zopeが「# /usr/local/Zope-2.5.1/」にインストールされている場合の例)

      # /usr/local/Zope-2.5.1/bin/python setup.py install

  2. ChaSen?Pythonから使うモジュールのインストール(setup.py付き)
    1. "Python ChaSen module(python_chasen-0.1.tar.gz)":http://www.domen.cx/yusei/pub/ のダウンロード
    2. "Python ChaSen module(python_chasen-0.1.tar.gz)":http://www.domen.cx/yusei/pub/ の展開(解凍)

      以下、/usr/local/python_chasenに展開したものとして説明

    3. python_chasenのディレクトリに入る

      % cd /usr/local/python_chasen

    4. python setup.py install」の実行(Zopeが「# /usr/local/Zope-2.5.1/」にインストールされている場合の例)

      # /usr/local/Zope-2.5.1/bin/python setup.py install

  3. 「/usr/local/Zope-2.5.1/python2.1/site-packages/」の確認
    1. 「site-packages」ディレクトリの中に、「chasen.so」、「pykf.so」が置かれていたらOKです。
    2. さらに、pythonの対話モードでimportを確認してエラーを吐かなかったらOK。:
         %  /usr/local/Zope-2.5.1/bin/<B style="color:black;background-color:#ffff66">python</B>
         >> import pykf
         >>                 ←この様に何もでなければよい
         >> import chasen
         >>                 ←この様に何もでなければよい
      

    libchasen.so.0.〜 を見付けられないとなった場合は、 http://ml.zope.jp/pipermail/zope-users/2002-August/002550.html にある通り、「そのライブラリがインストールされた場所が /etc/ld.so.conf に記載されていることを確認した後、『# /sbin/ldconfig 』を実行する」必要がある場合があります。Linux側のパスが通っていないという問題です。因みにTurbolinuxでは、7と8の両方で確認しています。

    もし、正常にセットアップ出来たのにエラーとなる場合はお気軽に下のコメント欄に書込んで下さい。

    • 自分(koyoshi)の場合、Turbolinux7ServerのFTP(書籍のCD-ROM)のインストール直後分は駄目で、アップデートすると動作(2002-08-02時点)した経験を持っています。

JSplitter本体のインストール

 JSplitter本体のインストールは上述の全ての動作確認が前提です。まだの場合は先に済ませて下さい。

  1. JSplitter(JSplitter-0.2.tar.gz) のダウンロード
  2. JSplitter(JSplitter-0.2.tar.gz) の展開(解凍)

    以下、/usr/local/JSplitter に展開したものとして説明

  3. JSplitterの所定位置(lib/python/Products/PluginIndexes/TextIndex/Splitter)へのコピー

     JSplitterは、単体のZopeプロダクトではありません。PluginIndexesの一部Splitterへの追加修正です。従って、コピー先は、次の位置になります。:

          /usr/local/Zope-2.5.1/lib/<B style="color:black;background-color:#ffff66">python</B>/Products/PluginIndexes/TextIndex/Splitter
    

  4. /usr/local/Zope-2.5.1/lib/python/Products/PluginIndexes/TextIndex/Splitter/__init__.pyのタプルデータに追加

     以下のタプル「availableSplitters」のデータとして「("JSplitter" , "Japanese Capable Splitter")」を追加します。下の様に先頭に入れると、Vocablary作成時のデフォルトとなります。:

        availableSplitters = (
        ("JSplitter" , "Japanese Capable Splitter"), # このタプルデータを追加
        ("ZopeSplitter" , "Zope Default Splitter"),
        ("ISO_8859_1_Splitter" , "Werner Strobles ISO-8859-1 Splitter"),
        ("UnicodeSplitter" , "Unicode-aware splitter")
        )
    

    ※ 一部環境により、CMFとの相性で、先頭に入れるとうまく行かないとの情報もあります。うまく行かないときは順番を変えて試て下さい(2002-08-02)。

  5. 最後のお決まり、Zopeの再立上げで完了です。

Vocablaryオプジェクトの作成/取替

 上述の全てが完了すると、新規分の「Vocablary」から日本語が扱える様になります。Squishdot内の既存の分は、次の手順で作り直し取替えて下さい。

  1. 管理画面で「Vocablary」を名前変更または削除
  2. 管理画面で新規に「Vocablary」のインスタンスを「Vocablary」の名前で作成
  3. オプションタブを開く
    1. 下部にあるカタログツールの「全記事のインデックスを作り直す」を実行する
  4. 動作確認
    1. 管理画面で先程作った「Vocablary」を開く
    2. Vocabularyタブに用語が登録されていることを確認
    3. [Next 20 entries]のリンクを押し続ける(2回目以降位置が変わるので注意すること)
    4. ここに日本語がエントリーされていれば、間違いなく使えます。


【コメント欄】

Last edited Mon, 11 Sep 2006 02:08:24 +0900 Edit this page