毎秒1000リクエスト を捌く超高速CMS「adiary」
2015/05/02(土)adiary Version3.0β5公開情報
ほぼ完成と言ってもよいと思います。しばらくはバグフィック。
- Version2からの移行機能をテストしていただけると大変助かります。
- 間違えて収録した「satsuki2/ayakaテーマ」はまだ未完成です。*1
Ver3.0β5更新情報
- スマホ表示に対応しました。USER_AGENTで判別しています。*2
- 記事メイン部とコメント欄のデザイン編集機能を付けました。*3
- それに伴い基本設定→表示設定がなくなりました。
- Version2 からの移行機能が付きました。
- theme/ ディレクトリ以下にテーマやテンプレートに無関係なものが増えてきたので、それらを pub-dist/ に移動しました。
- テーマの色変更機能で「設定できる色が多すぎる」問題に対処するため、色をいくつかの基本色に連動させて動かす機能を付けました。
- 表示パスワード機能を付けました。ブログの表示にパスワードをかける機能です。
- プライベートブログ時に「秘密のパスワード」を入力することでブログを表示できる機能を追加。
- システム管理にメンテナンスモードを実装しました。
- 【記法】目次記法の機能を拡張し、出力階層を選択できるようにしました([*toc0] [*toc2]の追加)。
- 【plugin】タイトル文字の表示位置調整が非常に分かりにくかったので設定方法を見直しました。
- 【plugin】ヘッダとメイン部用の検索ボックスモジュールを用意しました。
- 【plugin】サイドバー検索ボックスのHTML形式を変更しました。(雑多なidを削除しました)
- 【plugin】module_id の仕様を変更しました(β3の時の仕様に戻しました)。
- 【fix】プライベートモードを解除したとき、公開ディレクトリが複雑な名前のままになっている。
- 【fix】「ブログとwikiコンテンツ等を分離して扱う」にチェックを入れるとコンテンツページが検索にヒットしない。(Thanks to 手石)
- 【fix】theme/以下のテンプレート読み込み機能がうまく動作していなかった。なおVer3のテンプレートディレクトリ名は _skel/ です(Thanks to 手石)
- 【fix】シンタックスハイライトがうまく動作しない。
- 【fix】【plugin】プライベートブログ切替時に、デザインモジュールで使用していた背景画像が表示できなくなる。
- 【fix】【アルバム】大文字の拡張子(.JPG等)を画像ファイルと識別できない。
- 【fix】【Compiler】<@ifcall(cond, 'file')> 等で cond が false のとき、condの値が出力されてしまう。
2015/03/05(木)adiary Version3.0β4公開情報
Ver3.0β4更新情報
- デザイン編集でサイドバー以外も編集できるようになりました。
- テーマカラーリングをカスタマイズする機能を付けました。(対応テーマのみ)
- 記法のエスケープ表記動作を整理しました。
- 記法ヘルパー機能を付けました。
- 確認ダイアログをブラウザ標準の「confirm」からオリジナルに変更しました。
- JPEGのExifを記事に貼り付けられるようになりました。
- 自動リロード画面でEnterを押すと強制リロードするようにしました。
- 同一の記事を複数の人やタブで編集した際に確認メッセージを出す機能を付けました。デフォルトでは無効になっています(システム設定にあります)。
- 記事編集画面からの画像選択画面にスクロールバーが表示されるように変更しました。
- デザイン編集画面の編集ツールの位置を変更しました。
- Twitterへの投稿通知機能をプラグイン化しました。
- faviconが設定できるようになりました。
- 【アルバム】D&Dで自動アップロードする機能をつけました。
- 【アルバム】CTRL+クリックで直接ダウンロードする機能をつけました。
- 【アルバム】Exif除去機能を付けました。*1
- 【アルバム】特殊文字「\ : * ? " ' < > | &」をファイル名等に使用できないようにしました。
- 【アルバム】ゴミ箱に入れる際、入れた日時をファイル名に付加するようにしました。
- 【アルバム】SHIFT+クリックによる範囲選択機能を付けました。
- 【アルバム】大文字の拡張子を許可するように変更しました。
- 【アルバム】【fix】ファイルを移動した際、サムネイルファイルが残り続けることがあった。
- 【アルバム】【fix】ファイル名ビューの時、画像の貼り付けで挿入されるタグが正しくない。
- 【Markdown】【fix】行頭以外にTABを入力した時の挙動が正しくない。
- 【Markdown】【fix】リスト入れ子時の動作が正しくない。余計な<p>タグが出る。
- 【Markdown】【fix】通常文章ブロックの途中から引用ブロック等を書くことができない。
- 【Markdown】【fix】引用ブロック(>)の手前にスペースを書くことができない。
- 【Markdown】リスト入れ子判別時、段差が1でも入れ子として認識するようにしました。*2
- 【fix】フィルター記法を[[&http://adiary.org]]のように[[ ]]中に書けない。
- 【fix】非表示input要素に対するリサイズ機能が正しく働いてなかったので、表示後、初めてmouseenterしたときにリサイズ加工をするように修正しました。
- 【fix】Image::Magickが存在しないとき、アルバムの動作がエラーになっていた。
- 【fix】data-target指定時にjQuery XSSの問題があった。(参考)
- 【fix】管理画面で選択テーマを使用しない設定の場合、デザインの初期化の確認画面で常に標準テーマが表示されていた。
- 【IE8】デザインモジュールの「Information/リンク集」にて、現在の状況をロードできない「IE8の不具合」に対応しました。
- 【Windows】記事のインポート処理がうまくいかないWindowsの謎の挙動に対応しました。
- 【Base/OAuth.pm】status update以外の、一般的なOAuthなGET/POST処理に対応しました。
- 【Base/HTTP.pm】【fix】SSL接続時、Cookieを1つしか受け取れなかった。
- 【Base/HTTP.pm】【fix】SSL接続でのPOST時、Content-Lengthを二重に送信していた。
- 他多数
コメント
デザイン編集機能はVer3開発当初から構想があったものですが、結構良い仕上がりになっていると思います。編集画面では、CSS動的生成(動的置換)とかかなり高度なことをやっています。使っても使わなくても一度はドロップダウンメニューで遊んでみてください! 使う人にはどうでもいいことですが実装大変だったんですよ(苦笑) 頑張った甲斐がありまして、CSS動的生成を使用してもプラグイン側の記述量は極小で済むようになっています。
そんなこんなでメイン機能はほぼ実装完了です。いくつか欲しいプラグインもありますが、その辺は後回しでもいいかな。
残す完成に向けての必須項目はスマホ対応表示でしょうか。HTML5なので普通にスマホで使えますが、いかんせん見づらいです。あとはテーマが充実してくれれば……。
2014/12/29(月)adiary C87 Special Edition
C87にてadiary Special Editionが限定配布されます。
- 12/30(火) 「西い42b」 頒価100円
- 参加団体:adiaryユーザ会
- 予定用意数:20部
- 内容
- adiary Ver3β3.1
- ページ内で記事移動するプラグイン
- 記事の表示順を逆にするプラグイン
- 限定テーマ「きゅーと」
- 限定テーマ「ここあ」(C86再録)
まだテーマが少ないadiary Ver3の貴重な限定テーマが2つも付属します。
2014/12/29(月)adiary Version3.0β3公開情報
Ver3.0β3更新情報
- <teatarea> でTABが入力できるようになりました。
- github/gistのソースコード貼り付けが簡単にできるようになりました。(参考)
- 記事のタグに使える文字を一部制限しました。*1
- 記事の記法マニュアルを整備すると共にバグ修正、細かな仕様変更、機能追加を行いました。
- リンク時のrel設定が HTML5 的に美しくないので、"data-*"属性設定に変更しました。
- markdown記法中にさつきタグを記述した際、その処理結果に対して更に「強調」などのMarkdown記法処理を行わないようにしました。
- tex記法の実体をmimeTeXからGoogle Chart APIに変更しました。*2
- ソースコードマークアップを SyntaxHighlighter から highlight.js に変更しました。
- adiary.jsのDOM要素に対する機能付加の方法を変更しました。
- mod_rewrite等でのアクセスURL変更時に、付加情報の再生成を促すメッセージを出すようにしました。
- バージョンアップ後(ファイル上書き更新後)のアップデートをある程度、自動処理するようにしまた。
- 【アルバム】ファイル名が変更できるようになりました。
- 【アルバム】ファイル名で一覧表示できるようになりました。
- 【plugin】メール通知プラグインでブログタイトルを入力できるようにしました。記事URLを本文に書くようにしました。
- 【plugin】検索ボックスに設定機能を追加しました。
- 【fix】プラグイン設定の個別モジュールの設定画面が表示されない。
- 【fix】Windows環境でタグ情報の保存に失敗する。原因詳細。(Thanks to 手石)
- 【fix】コンテンツリストでリーフのないノードを指定した場合に内部エラーになる。
- 【fix】関連記事がないのに、関連記事の見出しが出力される。
- 【fix】画像以外のファイルをアップロードした際、アイコンが埋め込まれない。
- 【fix】リンク文字列など、タグの区切りの末尾にマッチするワードで記事を検索すると、検索語を含む文字列が2重に表示される。
- 【fix】記事タイトルがタイトルヘッダに出力されていない。
- 【fix】markdown記法でHTMLブロックが閉じていない時、無限ループしてしまう。
- 【fix】テーブル記法で、各行の最後のカラムが空の時にHTMLに<td>が展開されない。
- 【fix】Google Mapのurl-filterが動作していなかった。(Google側の仕様変更のため)
- 【fix】アルバムで表示形式を変えた時、選択状態が維持されていなかった。
- 【fix】アルバムでディレクトリ内のファイルを取得するとき「.」で始まるファイルを無視していなかった。
- 【fix】テキストDB時に、ブログ作成時不要なエラーメッセージが表示されていた。
- 【fix】プライベートモード設定変更時に、ファイル書き込みエラーがでていた。
- 【Compiler】begin_hash/array/string中にコマンド式が書けるようになりました。
- 【Compiler】function型スケルトンで不必要なコマンド外の部分が出力されていたので除去しました。
- 他多数。
その他、マニュアルを充実させました。
アップデート
このバージョンからアップデート時の必要な処理を自動で行う機能が内蔵されました。(ファイルを置き換えるアップデード作業自体は手動です)
2014/08/21(木)adiary Version3.0β2公開情報
Ver3.0β2の変更点
β2で、ブログとして必要な機能はひと通り揃いました。
- 画像管理(アルバム機能)を追加しました。
- これにより記事に画像が貼り付けられるようになりました。
- adiary.conf.cgiで設定していた「Secret_phrase」を自動生成するよう変更しました。
- この変更でconfigをデフォルトのまま動作させても問題がなくなりました。
- 細かい修正
- 記事検索時に全角スペースを区切り文字として認識するようにしました。
- ノンブロック排他ロックの処理が間違っていたので修正しました。(Thanks to 手石)
- 年月指定や年指定した時に、カレンダーの表示がおかしくなるバグを修正しました。
- コンテンツ編集画面にて、下層のコンテンツをrootに移動できないバグを修正しました。
- 他多数
C86版(β1.4)をお持ちの方はC86SEサポート情報も参照してください。
β1以前からのアップデート
上書き(もしくはgit pull)した後に以下の作業を行ってください。
- adiary.conf.cgi をサンプルから再度作成。
- 設置してあるブログのデザイン編集を開いて保存(変更する必要はありません)。
- 「メニュー」→「基本設定」→「編集画面の設定」から、画像リンクのrelを「lightbox[%k]」と設定します。
conf以外は、いずれ自動更新されるようになる予定です(βの間は手動で)。
Ver2からの乗り換え
一部のチャレンジャー向けの内容です。アルバム画像のフォルダは以下のように移動されました。
(Ver2) public/image/<blogid>/ (Ver3) pub/<blogid>/image/
ゴミ箱の構造、サムネイルの構造などは変更していませんし、記事に貼り付けるタグで互換性は維持したはずなので、丸コピーして古い記事をインポートすれば画像もそのまま表示できるかと思います。
いずれはこの辺を自動で行うツールを作りますが、β版の使用テストにVer2のデータを使いたい!という人は参考までに。
ちなみに、mp3やm4vファイルなどを(アルバムから)貼り付けると、自動的にaudio/vidoeタグが貼られる仕組みが内蔵されています。
既知の問題
- プラグイン設定の、個別の設定画面が表示されない。
- Windows環境でタグ情報の保存に失敗する。(Thanks to 手石)
- 画像以外のファイルをアップロードした際、アイコンが埋め込まれない。
- リンク文字列など、タグの区切りの末尾にマッチするワードで記事を検索すると、検索語を含む文字列が2重に表示される。