2011-02-12
2/12のSphinx翻訳ハッカソン に行ってSymfony2のドキュメントの翻訳をさせていただこうと思っていたら、このところどっぷりはまっている仕事の方で呼び出されることになり、参加できなくなってしまった。予習として手元の環境にSphinxをインストールしたときのメモを残しておく。
といっても、パッケージ管理ツールを駆使(?)してあっという間。Sphinxのユーザ会のページには、MacOS XとUbuntuへのインストール方法は書いてあるが、CentOSへのインストール方法は書かれていないので、一応メモ。
yumでpythonのパッケージ管理ツールであるpipをインストール
[root@hoge ~]# yum install python-pip python-setuptools
pipでsphinxをインストール。現状では1.0.7がインストールされるようだ。
[root@hoge ~]# pip-python install sphinx
Downloading/unpacking sphinx
Downloading Sphinx-1.0.7.tar.gz (2.3Mb): 2.3Mb downloaded
Running setup.py egg_info for package sphinx
no previously-included directories found matching ‘doc/_build’
Downloading/unpacking Pygments>=0.8 (from sphinx)
Downloading Pygments-1.4.tar.gz (3.5Mb): 3.5Mb downloaded
Running setup.py egg_info for package Pygments
Downloading/unpacking Jinja2>=2.2 (from sphinx)
Downloading Jinja2-2.5.5.tar.gz (438Kb): 438Kb downloaded
(中略)
Installing sphinx-build script to /usr/bin
Installing sphinx-quickstart script to /usr/bin
Installing sphinx-autogen script to /usr/bin
Successfully installed docutils Jinja2 Pygments sphinx
Cleaning up…
[root@hoge ~]#
Sphinxユーザ会の「Sphinxをはじめよう 」を見て、「プロジェクトの作成」まではあっさり完了。
yumでもsphinx(パッケージ名はpython-sphinx)をインストールできるが、@hidenorigoto さんのアドバイスで、pipを使ったインストール方法があることを知った。ありがとうございます。
2011年3月13日追記
epelリポジトリを有効にしていたからyumだけでインストールできた模様。epelリポジトリを追加していない場合は以下のコマンドで追加。
rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/5/i386/epel-release-5-4.noarch.rpm
※ パスの中で「5-4」はepelのバージョンによって変わる。
2010-10-08
symfonyでニュースの記事などにコメント欄を付けるプラグインとして、vjCommentPlugin というのがある。これの設定でちょっとはまったので、メモ。
インストールや設定はReadmeに書いてある通りで、簡単。ログインしないとコメントできないようにするため、sfGuardPluginと連携させる機能が追加されているのだが、これが癖者。この機能を使うときには、app.ymlに以下の表記を追記する。
all:
vjCommentPlugin:
guardbind: true
restricted: true
Readmeには、frontend/config/app.ymlを編集しろと書いてあるのだが、これだとコメントを保存するテーブルの中身が、ログインしないとコメントできないように書き換わってくれない。plugin/vjCommentPlugin/config/app.ymlを上の通り編集する必要がある。
また、この状態で symfony doctrine:build すると、以下のエラーが出る。
SQLSTATE[HY000]: General error: 1005 Can’t create table ‘pjtransrate.#sql-15f0_b9’ (errno: 150). Failing Query: “ALTER TABLE comment ADD CONSTRAINT comment_user_id_sf_guard_user_id FOREIGN KEY (user_id) REFERENCES sf_guard_user(id)”. Failing Query: ALTER TABLE comment ADD CONSTRAINT comment_user_id_sf_guard_user_id FOREIGN KEY (user_id) REFERENCES sf_guard_user(id)
これは、sfGuardUserテーブルでは id (ユーザのID)を integer で定義しているのに、commentテーブル(コメントを保存するテーブル)の user_id は integer(4) で定義されており、その間にrelationを張ろうとしているためエラーになっているようだ。
参考 : http://d.hatena.ne.jp/zankey/20070411/mysql
plugins/vjCommentPlugin/config/doctrine/schema.yml の comment テーブルの user_id の type を integer に変更して、再度 doctrine:build するとうまくいく。
2010-09-30
Subversionリポジトリへうまくコミットできないときがたまにあるので、メモ。
コミットしようとすると、途中で以下のようなエラーが出ることがあります。
commit -m "あれこれ変更" -N (32 paths specified)
Sending C:/Users/hoge/project/apps/frontend/modules/article/templates/indexSuccess.php
(中略)
Adding C:/Users/hoge/project/cache/frontend/dev/template
RA layer request failed
svn: Commit failed (details follow):
svn: Server sent unexpected return value (405 Method Not Allowed) in response to MKCOL request for '/svn/pjtransrate/!svn/wrk/be91e174-dd4b-124f-abbd-dd57636aa9ad/trunk/cache/frontend/dev/template'
とりあえずcache/frontend/dev/templateを手動で削除してからコミットしたら、うまくいきました。
よく分かりませんが、うまくいったのでよしとしよう。