RSS

日々のメモ書き

Debian Developerが綴るメモ

RailsでWikiを書く(3)

無理矢理表示させてみるぞ、と。

編集画面を表示させようとがんばる。aswikiのライブラリを読み込んで、handlerの部分をコピペのあとで適当に編集しなおす。で、ごちゃごちゃとエラーをいくつか潰してみたら…きちんと表示された。でも、submitもできないよーん。Railsの作法で動いているところをどうやってAmritaにつっこめばいいのやら…。URLの扱い自体もよくわかってないし。まだ先は長い。せめてセーブができないといけない。昔のコードはAmritaで扱いやすくするためにかなり無茶なデータ構造をしているところがある。ここらへんは順次改善ですな。

RailsでWikiを書く(2)

いろいろありますが…。

pagedataという名前のクラスを扱おうとしたら、pagedatumとpagedatasと2種類のplurizationが行われてエラーが起きるんですけど…。なんじゃこりゃ。belongs_toのメソッド名を間違えたのが原因か?わかりにくエラーだ。

1:Mの基本的に扱いを理解。なんかまとまったドキュメントがないかねえ。本を買うしかないか。

昔のaswikiのソースをとりあえずlibの下に配置。ほとんどが消されていくはず…。

レンダリングはamritaべったりなのでrhtmlを使わないのでRailsの道具が使えないのはちょっと痛いかも。
amrita2はいつになったら出るのかなあ。Rails対応という噂はあるけど1年以上音沙汰なし。

RailsでWikiを書く

チュートリアルだけでは覚えられるわけがないので実用的なアプリということでWikiを作ることにする。

ふーん、またWikiですか、なんて馬鹿にするなよ。僕はWikiがはやりだしたころにRubyでAsWikiというWikiEngineを書いている。それをRailsに移植しようという話だ。

あのときはRDBMSを使いたくなかったのでいろいろと苦労したところもあった。エスケープに気を使ったり履歴管理にRCSを使ったり。そのあたりは一気に解消する。あとセッションの管理がまともにできてないのでとんでもない仕様になっているところもある。ここもきっとなんとかなるんだろう。キャッシュのところも無理しているし。きっとなんとかなるでしょう。

で、始めたわけですが。いきなりmigration2をインストールする。昔からRailsのORMの扱いは逆方向を向いていると思っていて、migrationができて多少はましになったのかと思ったが、気違い仕様であった。migration2になってやっとまともな方向を向いてきた。SQLObjectもdjangoもこんな変な方向向いてないんだが…。Railsが嫌いなわけではないが、Rails最高とか言う前にもうちょっと世の中見てみろ。あきらかにおかしい。ちなみにインストールはpluginのインストールになるので以下のように。

% ./script/plugin install http://wota.jp/svn/rails/plugins/branches/stable/migration2/

あとはmodelを作って、controllerを作っていきますか。詳しい実装はそのうち考えよう。履歴管理を入れると面倒なところもあるけど…。

メモ

control/routes.rbを使ってURL mappingを行うわけですか。無茶苦茶柔軟性はあるわけではないが、普通に使う分には十分でしょう。

unittestがfixturesから初期データを投入するのに気がつかず謎の挙動と思ってしまった。なんでデフォルトで放り込む設定になっているんだ? わかりにくいバグになった…。

Hyper Estraierでメール検索

先延ばしにしていたけどやってみることに。

そんなに難しい話ではない。

# find ~/Maildir -type f | grep /cur/ | estcmd gather -cl -fm -cm casket -

としてインデックを作成。estseek.cgiやestseek.conf等をコピーしてきてCGIとして動かす。Wanderlustに組込みたいが2年前にパッチが出て以来進行してない模様。

http://qdbm.sourceforge.net/mikio/osmftsspecial/

FCKEditor-2.3.2

FCKEditorを2.3.2にupgrade

注意するべきこと。/portal_properties/fckeditor_propertiesをアップデートの前に削除すること。

Javascriptがキャッシュに残っていると挙動がおかしいようなので適宜対処する。

From:で制限をPostfixで

意味あるのかという議論は置いといて。

From:(に限らずヘッダ全般)を見てメールの制限をするにはmain.cfに以下のように記述する。

header_checks = regexp:/etc/postfix/bad_header

そのあと header_checks に

/^From: bar@example.com/ REJECT
/^From: foo@example.com/ OK

と書く。

http://www.kozupon.com/mail/postfix2.html

postfixでFrom:で送信制限

postfixを使ってFrom:を見て制限をかける方法。

いや、こんなの意味ないだろとかいう話は置いといて。
main.cfに

header_checks  = regexp:/etc/postfix/bad_header

とか書いて、

bad_headerに
/^From: hoge@example.com/ OK
/^From: bar@example.com/ REJECT
などと書いておく。ファーストマッチになります。

ref:
http://www.kozupon.com/mail/postfix2.html

gmailfs

今さらですがgmailfsを実験。

Debian なのでそんなに面倒ではないです。fuseなので透過的に扱えるし。

# aptitude install gmailfs
# aptitude install fuse-source
# m-a a-i fuse
ここでinsmod fuseがあるかもないかも
# mount mount -t gmailfs none /mount/point/gmailfs -o username=gmailuser,password=gmailpass,fsname=secret

てな具合です。

カーネルモジュールのインストールがいつのまにか便利になっていて、module-assistantパッケージのおかげかな、なーんにも考えなくてもモジュールが入ってしまう。fsnameのパラメータは他人に推測されない文字列にしましょう。なぜこんなものがいるかというと、gmailはメールボックスなので他人からメールを送られることがあるわけです。そのときgmailfsが使っているものと区別するために使います。


skkime導入

ついにMS-IMEに我慢の限界が来ました。

導入手順は以下

  1. http://www.tatari-sakamoto.jp/~tatari/skkime.jis.html#skkimeWin2kXP からskkimeをダウンロードする
  2. 展開して中にあるinfファイルを右クリックしてインストールを選択する。
  3. IMEのツールバーで右クリックして設定を選択。SKKをデフォルトにする。
  4. SKKIMEのプロパティで辞書を選択。辞書はhttp://openlab.ring.gr.jp/skk/wiki/wiki.cgi?page=SKK%BC%AD%BD%F1#p7 からダウンロードして下さい。annotationがついてない辞書にして下さい。SKKIMEはannotationに対応していません。

こんなところで大丈夫かな。

< 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 >