まだ重たいCMSをお使いですか?
毎秒1000リクエスト を捌く超高速CMS「adiary

2010/04/24(土)adiary Version3 進捗状況メモ

Ver3のリリースが見えてきたのでこの記事の更新は停止しました。

特徴

  • HTML5採用の本格的なブログ/CMSツール。
  • 分かりやすく扱いやすい。
  • PurePerlで動作し*1、外部DBが不要*2
  • プラグインとテーマによる柔軟な拡張性。

*1 : Perl 5.8以降であればレンタルサーバ等でも動作します。サポートしませんがWindows + Apacheでも現状動作します。

*2 : 外部のRDBMSを使うこともできる。MySQL, PostgreSQL両対応。

リリーススケジュール(予定)

アップデート後の必要な処理を自動的に行う機能を内蔵したので移行したい人は移行しても構わないかも。それでも一応β版ということは心に留めておいてください。

HTML構造やプラグイン構造は互換性を失う変更は予定されていませので、テーマなりプラグインなり自由に作っていただけると大変たすかります。

テーマ開発・プラグイン開発で困ったらどんどん質問してください。また完成したテーマやプラグインはライセンスや動作に問題がなければβ版の段階でも本体収録されることがあります。

ネタメモ、積み残しメモ 2015/03/03

  • プラグイン関連
    • cronイベント
    • コメントのNGワード機能、ホスト指定のコメント非公開機能
    • テキスト画像化プラグイン
    • コンテンツのパンくずリスト
  • adiaryのデモ動画

頂いた要望

  • サイトマップ生成機能(プラグインで誰か作ってほしいな)
  • グループウェア機能
    • ユーザー毎に記事の既読・未読が設定できて、スケジュールの管理ができるくらいの。

2009/12/16(水)adiary Ver2.12リリース情報

Ver2.11に対しバグ修正を行いました。変更点を参照の上、必要ならばバージョンアップしてください。

ダウンロードはこちらから

Ver2.11→Ver2.12の変更点

  • テーマディレクトリを変更すると「印刷用の表示」がリンク切れになるバグを修正。
  • クラス追加。div.hatena-body0, a.adiary, li.to-album (_frame.html/_sidebar.html)
  • 浅野さんご指摘&パッチ(感謝)。
    • アルバムのサムネイルビューでサムネイル上にマウスカーソルを置いたときにポップアップする情報が実際のファイルと一致しないバグを修正。
    • アルバムのスライドショーでファイルを選択したときに左上に表示されるファイル名とバイト数が実際のファイルと一致しないバグを修正。
    • アルバムで「すべて選択」「選択を解除」ボタンをクリックしても正常に動作しないバグを修正。
    • 携帯画面でのコメント表示がエラーになることがある不具合を修正。
    • スーパーpre記法中等に行頭にスペースが1つ入る仕様を変更したことによる、バグ混入の問題を修正。*1
    • aa記法が効かないバグを修正。
    • テーマ選択時に下フレームで表示される画面のHTML(スケルトン)が正しくなかった問題を修正。
    • テーマによって、「日記の削除/コメント・トラックバックの編集画面」でコメント・トラックバック件数部分の表示がおかしくなる不具合を修正。
  • Ver2.06以降、アップローダーで中間拡張子チェックで"adiary-1.00.tgz"などが跳ねられてしまう問題を解決するため、数字など特定の文字を含む拡張子を許可する機能をつけました。*2
  • アップローダーで0byteのファイルをアップロードできるようにしました。*3

*1 : 正規表現の/eスイッチ(実行構文属性)を付け忘れた(汗)

*2 : 詳しくは uploader.conf.cgi の <$v.allow_ex_match=""> を参照してください。

*3 : 今までは明示的エラーにならずアップロードもできなかったため、何が起きてるのかよく分からないという状態。

Version2.00(β含む)以降からの乗り換え

  • そのまま上書きしてください。
  • Ver2.11以前の場合、uploader.conf.cgi をサンプルから再生成してください。

なおVer2.06よりアルバムシステム関連のJavaScriptの置き場が変更になっていますので、紛らわしい場合は theme/*.js を消してから上書きしてください。

アップデート方法の参考情報。

Version1.44以前(C73/2.00α含む)以前からの乗り換え

Version2.00への移行処理を先に行ってください。

2009/11/23(月)adiary Ver2.11リリース情報

Ver2.09に対し、細かな機能変更とバグ修正を行いました。

ダウンロードはこちらから

Ver2.09→Ver2.11の変更点

  • 擬似データベース(pseudo DB)使用時、wikiコンテンツを開こうとするとDB速度が著しく低下する問題を修正しました。擬似データベース使用者は「管理」→「システム管理」→「管理者メニュー」→「Version 2.09以前 → Version 2.10以降へのアップグレード」を実行してください。擬似データベース以外は実行できません。
  • アルバムにソートの機能が付きました。
  • 一部テーマファイルのCSS修正。
  • 静的出力時に埋め込みテキストを出力しないオプションを追加。
  • MySQLにて記事テキスト本文に64KBまでしか保存できない問題を修正しました。(新規に作成した日記帳のみ有効)*1([ml:users:356:Thanks to ひとぅ])
  • rss10.html, rss10short.html, rss20short.html でRSSが生成できないバグを修正しました。([ml:users:361:Thanks to 小沼])
  • 次のような記述ができないコンパイラのバグを改善しました。
    <$ifexec(index(ENV.HTTP_USER_AGENT, 'iPhone')>=0, begin)>
    
  • adiaryスーパーpre記法に行頭にスペースが1つ入ることがある仕様を改善しました。(Thanks to nblog
  • theme?xxx/xxx といったページ表示時にそのページを検索対象外にするmetaタグを出力するようにしました。
  • 月別リストの古い年を折りたたむようにしました。(Thanks to G*2
  • C74で配布したbigblueを収録しました。
  • C76で配布したyuuテーマを収録しました。
  • 【携帯】コメントの表示件数を10件ごとにしました。

なお、[ml:users:0369:メーリングリストにある]のようなiPhone専用テーマを作成したいときは次のような細工をしてください。(関連URL*3

<$ifexec(Is_mobile, begin)>
	<$v.template_dir = "<@theme_dir>satsuki-mobile/">
	<$v.theme        = 'satsuki-mobile')>
<$end>

の後ろで

<$ifexec(0 <= index(ENV.HTTP_USER_AGENT, 'iPhone'), begin)>
      <$v.template_dir = "<@theme_dir>satsuki-mobile/">
      <$v.theme        = 'iphone'>
      <$Is_mobile=1>
<$end>

Ver2.11β1からの変更ファイル

  • diary.skel/format/month_list.html
  • lib/Satsuki/Diary.pm

*1 : 既存のテーブルに対してこの変更を行いたい場合は[ml:users:357:直接SQLを発行して修正してください]。

*2 : この変更を直ちに適用するには、必要な場合は日記帳の設定を保存するか適当な記事を開いて保存してください。

*3 : Ver2系はこの辺を吸収するにはちょっと無理がありますね。

Version2.00(β含む)以降からの乗り換え

  • そのまま上書きしてください。
  • Ver2.05以前の場合、uploader.conf.cgi をサンプルから再生成してください。

なおVer2.06よりアルバムシステム関連のJavaScriptの置き場が変更になっていますので、紛らわしい場合は theme/*.js を消してから上書きしてください。

アップデート方法の参考情報。

Version1.44以前(C73/2.00α含む)以前からの乗り換え

Version2.00への移行処理を先に行ってください。

2009/07/07(火)ライセンスは難しい

(現在配布されている)MySQLのライセンスはGPLv2であるので、クライアントライブラリとリンクするソフトウェアはGPLv2と互換性がなくてはいけないと思っていたのですが、FOSS ライセンス除外規定というものがあって、この中のライセンスなら除外規定の適用を受けて何ら問題なく使用出来るらしい。

しかし、なぜかこの中にはGPLv3が含まれない。でもって、世の中にはGPLv3でMySQLというWebアプリがいくつも存在する*1

もうひとつ気になっているのがAGPLv3。AGPLv3はGPLv3とリンクさせる限り自由であるので、AGPLv3のアプリに対してGPLv3のソースを書いて拡張すると、AGPLv3のAGPLv3たる意味がほとんど無力化するような気がする。

*1 : adiaryの場合はMySQL利用時はGPLv2 or laterでライセンスされたものを使ってくださいとなってますが、他も一緒なんでしょうか。

mod_perlのライセンス

そういえばmod_perlってのはApacheとリンクして動的に操作する仕組みであるので、Apache Licenseの適用を受けるんだけど、これはGPLv2とは互換性がなくて、GPLv3とApache License 2.0は互換性がある。MySQLでmod_perlなMovable TypeのGPLv2版とかどうしてるんだろう?

注意

この記事を信用してなにか失敗しても何ら責任は負いかねます。ライセンスの確認は必ず各自で行いましょう。

2009/07/01(水)adiary Ver2.09 リリース情報

Ver2.08に対し、バグ修正とメール解析ルーチンを改良したものです。

  • 7/15 リリースしました(RC5と同一)。

ダウンロードはこちらから

Ver2.08→Ver2.09の変更点

  • rel="canonical" に対応しました。はてブ対策
  • 【セキュリティfix】第3者レンタル時のセキュリティホールを修正しました
  • 【fix】トラストモード時も、タグ中JavaScriptがエスケープされる問題を修正しました。(Thanks to tmz
  • 【fix】2.04から実装された、メール投稿時のファイル名を日時で書き換える機能が配布物にまだ完全に含まれてなかったのできちんと収録しました。(Thanks to nasano
  • 【fix】(RC3)記法ヘルパーの見出し記法が(少なくともFxで)クリックできない問題を修正しました。
  • 【メール投稿】RFC2231形式やUTF-8のMIME等にきちんと対応しました。詳細情報。([ml:users:00343:Thanks to ひとぅ])
  • 【メール投稿】Content-DispositionとContent-Typeの2つにファイル名が設定されるとき、Content-Dispositionのファイル名を優先するようにしました。iPhone対策ですが問題がある場合はお知らせください。
  • 【メール投稿】メール投稿時のファイル名を日時で書き換える機能の設定に関わらず、同一ファイル名があるときファイル名を日時にリネームする機能を付けました。
  • 【メール投稿】(RC3)メールのパースをRFC3676に準拠しました。([ml:users:0351:Thanks to ひとぅ])

Version2.00(β含む)以降からの乗り換え

  • そのまま上書きしてください。
  • Ver2.05以前の場合、uploader.conf.cgi をサンプルから再生成してください。

なおVer2.06よりアルバムシステム関連のJavaScriptの置き場が変更になっていますので、紛らわしい場合は theme/*.js を消してから上書きしてください。

Version1.44以前(C73/2.00α含む)以前からの乗り換え

Version2.00への移行処理を先に行ってください。