Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

公開型CMSとしてのTrac

1,910 views

Published on

2008.01

  • Be the first to comment

  • Be the first to like this

公開型CMSとしてのTrac

  1. 1. 公開型 CMS としての Trac hirobe
  2. 2. Trac を インターネット公開用の コンテンツサーバとして使おう! 作ったものを、 書いたものを、 ちゃんと公開したいよ。 ブログじゃ物足りないよ。 自作プラグインの 話とか、 デザインの話とか、 SPAM 対策とか
  3. 3. TickTackBlog Plugin 開発の動機 やっぱブログいるよね。 Wiki よりも Ticket のほうが、コメントの管理しやるいかな
  4. 4. TBlog Plugin  (開発中) 開発の動機 普通のブログが欲しい コメント入力はブログの画面がいいし、 TrackBack とかも使いたいし。
  5. 5. おもな機能 <ul><li>Ticket ベース </li></ul><ul><li>日数がたっても消えない </li></ul><ul><li>コメントをブログ画面から入力可能 </li></ul><ul><li>「続きを読む」 </li></ul><ul><li>Trackback (できれば) </li></ul><ul><li>デザインをもうちょっと自由に変更したい </li></ul><ul><li>Windows Live Writer で投稿できるように </li></ul>
  6. 6. WLWriter Plugin 開発の動機 Windows Live Writer 便利 Wiki って編集すんのめんどくさいし、ブラウザベースだと時間がかかるとタイムアウトするし。
  7. 7. XHTML を Wiki に <ul><li>Genshi 使ってます。 </li></ul><PRE> タグの変換 <PRE> タグの変換(2) <H*> タグの変換 <A> タグの変換 <IMG> タグの変換 <BR> タグの変換 フォント系タグの変換 <TABLE> タグの変換 <LI> タグの変換 <DL> タグの変換 最後に整形 XHTML Wiki HTML のフィルタリングを 複数回実施 ( python の HTMLParser で これをやると大変)
  8. 8. Trac にもブログのようなデザインを Template from ↓  これ、 Trac です。
  9. 9. これも Genshi (Trac 0.11 b1) <ul><li>Layout.html で レイアウトを整えている。 </li></ul><ul><ul><li>実際にはフィルタ </li></ul></ul><ul><li>Layout.html を いじれば、 Trac の 出力 HTML を 大きく変更可能 </li></ul>Trac の出力する HTML layout.html macros.html モジュールの生成する HTML
  10. 10. Google Sitemaps Plugin Wiki や Ticket の URL を Google に通知します。 Google が検索する際に有効利用されるかもしれません。   このプラグインの有効性は謎ですが、、
  11. 11. TracSpamFilter Plugin をつかいましょう ( edgewall のやつ) かなりよく取れます。
  12. 12. SPAM 対策のポイント <ul><li>Spam Filtering プラグインを使う。 </li></ul><ul><ul><ul><li>RegexFilter 機能には、” BadContent”wiki ページが必要。 </li></ul></ul></ul><ul><ul><ul><li>Akismet プラグインは無効に。(チケットの登録できなくなる。) </li></ul></ul></ul><ul><li>TicketDelete プラグインで こまめに SPAM を消す。 </li></ul><ul><ul><ul><li>SPAM のリンクを誰かがクリックすると referer から、元ページが狙われやすくなるみたい。 </li></ul></ul></ul><ul><ul><ul><li>(経験からの推測です) </li></ul></ul></ul>インストール方法は Discypus.jp 様とか、 記憶は削除の方向で様を参照。
  13. 13. Weekbuild サイトの設定値 Minimum Karma (SPAM 判断の閾値) 0 ExternalLinksFilterStrategy   ( 外部リンク数 )   2 IPThrottleFilterStrategy   ( 時間当たりの接続回数? ) 3 RegexFilterStrategy   (BadComment ページのキーワード一致 ) 5 SessionFilterStrategy ( ブラウザのセッションが不正 ) 9 Logging ( ログをためるか ) Enable Purge old entries after ( ログ蓄積日数 ) 7 days
  14. 14. 今後の予定 ( いまのとこ ) TinyMCE Wiki Plugin TickTackBlog Plugin Wlwriter Plugin HTML2Wiki Kit 切り出し TBlog Plugin ブログの投稿機能
  15. 15. その他、自作プラグイン <ul><li>MailArchive プラグイン </li></ul><ul><li>HyperEstraier プラグイン , Namazu プラグイン </li></ul><ul><li>TinyMCE プラグイン </li></ul><ul><li>XDocView プラグイン </li></ul>
  16. 16. Mail Archive プラグイン 開発の動機 Trac を仕事で使わせる! Trac ってメールからチケット作れるけど、 でも、そんなの うちの会社で使いこなせるわけないじゃん。
  17. 17. HyperEstraier プラグイン Namazu プラグイン 開発の動機 仕様書検索したい。
  18. 18. TinyMCE Wiki Plugin 開発の動機 tinyMCE ってすごい!! ブラウザで WISiWYG で編集できるんだ。おまけに主要ブラウザ全対応かよ。しかもかっこええ。 これで「 Wiki なんて難しくて触れませんよ」とか言わせねぇ!
  19. 19. XDocView プラグイン 開発の動機 リポジトリブラウザが寂しい
  20. 20. おわり
  21. 21. 提案: Trac の機能の一部だけでいい <ul><li>ブログプラグイン+ Wiki </li></ul><ul><ul><li>ドキュメント、ノウハウ公開用サイト </li></ul></ul><ul><li>ブログプラグイン+リポジトリブラウザ </li></ul><ul><ul><li>作ったもの公開する用サーバ </li></ul></ul><ul><li>Ticket だけ </li></ul><ul><ul><li>教えて! goo みたいな </li></ul></ul>
  22. 22. でも、、 「 wiki が HTML 汚染されるからダメだよ」 「 Tags Plugin と競合する。。」 Orz   ザセツシマシタ Wiki 文法なんて使うなよって 無視することもできるけど、 でも、 TagsPlugin にはかなわない 。
  23. 23. 学んだこと (1) trac.wiki.formmatter.py で wiki を HTML に変換してる。 ⇒ これを継承するとオリジナルの wiki パーサが作れる。      Trac のバージョンアップによって変更されがちですが。。 (2) HTMLParser つかうと HTML の読み込みができる。   いまどきは Genshi つかったほうが楽。  
  24. 24. 検索用プラグイン
  25. 25. 学んだこと Pyhton って、割と簡単にメールをあつかえるのね。   import mailbox 文字化けしないポイント ・ JIS なのに①や髙:    nkf かませば、とりあえず大丈夫 ・ ThunderBird の添付ファイル名( RFC2231 ):    RFC2231 かどうか判断して処理を分ける。 あと、 Python のエンコーディング名と、 Mail(MIME?) の エンコーディング名って一致してないので注意。
  26. 26. 反省点 <ul><li>Timeline の使い方が練れてない。 </li></ul><ul><li>あんまりウケナカッタ </li></ul><ul><li>数日ほっとくとブログが表示されなくなる。 </li></ul><ul><li>Timeline の仕様ってそういうもの </li></ul><ul><li>コメント入力が Ticket の入力画面なのは </li></ul><ul><li> 悲しい </li></ul>
  27. 27. Trac でブログ書きたい! <ul><li>ということで生まれた </li></ul>

×