freo Ver 0.6.0
以下の機能を追加しました。
- メディア登録時、サムネイルを作成できるように改良。
- 添付ファイル表示処理を改良。
- 公開終了日時が正しく反映されない箇所がある不具合を修正。
- エディタから「斜体」のアイコンを削除。
気ままな雑記帳&実験場。好き勝手に色々やっています。
カテゴリー「制作」の検索結果は以下のとおりです。
以下の機能を追加しました。
以下の機能を追加しました。データベース構成にも変更があるため、以前のバージョンとデータに互換性はありません。
公開終了日時とオプション項目の入力チェックは、先日の CSS Nite で「あると便利そうだなぁ」と思った機能です。
freo設置について色々調べる機会があったのでまとめ。freoというよりPHP5利用のトラブルシューティングと言った方がいいかも。
コンフィグレータにアクセスし、「PHPインストール」で実行バージョンを「PHP5(DSO版)」に変更する。
freoの設置ディレクトリもしくはその上位ディレクトリに .htaccess を作成し、以下の内容を記述する。
php_flag mbstring.encoding_translation Off
php_value default_charset UTF-8
php_flag output_buffering Off
php_value output_handler None
MySQLを使用する場合、データベース作成の際に
で作成する。
freoの設定ファイル(config.php)にある FREO_DATABASE_CHARSET は設定しなくて(そのまま)で大丈夫そう。
freoの設置ディレクトリもしくはその上位ディレクトリに .htaccess を作成し、以下の内容を記述する。
AddHandler application/x-httpd-phpcgi .php
mod_gzip_on Off
mod_rewriteを使用する場合、freoの設置ディレクトリもしくはその上位ディレクトリに .htaccess を作成し、以下の内容を記述する。
Options FollowSymLinks Includes
freoの動作チェッカーを作ってみた。これで phpinfo() が使えないサーバーでもサポートがやりやすくなるかも。
チェッカーはfreo.jpの「トラブルシューティング」からダウンロードできます。
PHPの設定に、初期状態では .htaccess ではなく ini_set() を使用するように変更しました。
「.htaccess があると Internal Server Error になる」というサーバーは結構あるようで、これが設置難易度を上げている要因の一つみたいなので、仕様変更。
これで、より多くのサーバーですんなり動作する…はず。
あと、freo用にPHPの設定内容を確認できるツールも作成中。公開は近いうちに。
freoの設置難易度を下げるためにあれこれ実験していたところ、ロリポップ+PHP5で、ini_set() が使えるようになっていました。
以前に「.htaccessでの変更も、ini_set()での変更も許可しない」と公式にアナウンスされてショックを受けたのだけど、いつの間にか仕様が変わったのかなぁ…。公式な告知は見当たらないけど。
もし「サーバーの設定ミスで、一時的に使えるだけ」なら悲しいけど、どうなんだろう…。
ひととおりの機能を携帯対応にしたのでテスト。ファイルアップロード以外は、パソコン経由と同じ機能が利用できます。
もう少しテストしてから配布予定。
freoに対して、よくもらう要望とか。
閲覧権限の無い記事・フィルタリングされた記事は、そもそも一覧に表示しないようにしたい
テンプレートを編集すれば非表示にできますが、改ページ処理に問題が出てしまいます。(1ページあたりの表示件数が一定にならないとか、前後の記事に移動できないとか。)
プログラム側で対処するとなると、どうしてもプラグインの仕様が複雑になりすぎるので、今の仕組みでは完全には難しいかも…。
ただ、「エントリー」ではなく「ページ」ならページ移動処理の影響は比較的小さいので、そのうちにテンプレート編集方法の解説を作成したいと思います。
複数のfreoを設置する際、プログラムなどを共通化したい
設定を変更すれば、共通化できるように設計しています。
解説はそのうちに。
TinyMCE以外のエディタを使いたい
エディタ部分はfreoのプログラムから独立しているので可能です。
解説はそのうちに。
TinyMCEの挙動がおかしい
TinyMCEの仕様なら対処は難しいですが、そのうち調べます。
画像閲覧時にLightboxやThickBoxを使いたい
テンプレートを編集すれば可能です。
解説はそのうちに。
設置が難しい
制作が一段落したら解説ページを充実させます。
ただし、Web Diary Pro よりも環境を選ぶのは仕様です。
カテゴリーごと・記事ごとに表示を変更したい
テンプレートを編集すれば可能です。
解説はそのうちに。
PC用画面で、絵文字を簡単に入力したい
いつか絵文字挿入ツールを作ります。
OpenIDに対応して欲しい
mixiやYahoo!のIDで、ゲストユーザーとしてログインできるように
OpenIDは現在勉強中。
「OpenID.ne.jp」と「はてな」の認証は比較的容易に実装できそうですが、mixiやYahoo!などはSSLを経由した承認が厄介で、かなり環境を選びそう。
今のところ、実装できるかどうかは不明。
グループ・フィルター・オプション・カテゴリーの「説明」の登録内容がどこにも表示されていない
今のところ、テンプレートを編集しなければ表示されません。
そのうち使いどころを考えます。
一部のファイルの文字コードがShift-JISになっている
日本語を含まないファイルは、WindowsではShift-JISとして認識されるのです。
今年はC#を勉強しよう!…というわけで、ひとまず開発環境をインストールしてみた。
C#は、高機能な開発環境がMicrosoftから無償で提供されています。色んなソフトを別々に入手して設定して…が不要なので、インストール作業はとても簡単。
解説は、ひとまず以下の2つを読んでいこうと思います。
しばらくはコンソールで実行するプログラムばかりの制作になりますが、目標はWindowsアプリケーションの制作。
ざっと読んだ限りでは「C言語 + Windows API を直接呼出し」に比べれば圧倒的に簡単っぽいので、何とかなるかなぁ…。
さらにImageMagickについて。
ImageMagickの実行には exec() 関数を使っていたけど、shell_exec() の方が個人的には読みやすいので変更。
<?php
echo shell_exec('/usr/bin/convert -version');
?>
ロリポップでImageMagickを使えなかったのは、PHPの設定で safe_mode を On にしていたからでした。すっかり忘れてた…。(正確には、ImageMagickではなく exec() や shell_exec() の実行に制限がかかります。)Off にすれば無事実行できました。一安心。
また、ImageMagickは処理結果は常にファイルに出力されるのかと思っていたけど、標準出力に渡すこともできるのですね。
以下のようにすれば、150px×150pxのサムネイルを直接画面に表示できます。
<?php
echo shell_exec('/usr/bin/convert -geometry 150x150 illust.png -');
?>
さらに、以下のようにすればJpegに変換した上で直接画面に表示できます。
<?php
echo shell_exec('/usr/bin/convert -geometry 150x150 illust.png jpg:-');
?>
freoで使いそうなのはサムネイル作成と画像形式変換くらいなので、これで実装できそうです。