無料ブログ「rentafree.net」の管理人ブログ

新規にツールを作成する際のCNAMEの表示

新規ツール作成時のドメイン設定で独自ドメインを選択した場合、
使用するドメインのDNSのCNAMEレコードに設定すべきドメインが表示されるはずでしたが表示されなくなっていました。

修正しました。


ブログ等のツールで独自ドメインを使用する場合は、事前に使用するドメインのDNSでCNAMEレコードにより、
当サービスのアドレスにドメインを向ける必要があります。

<img>のタグ設定からポップアップを設定できるようにしました

前回の記事で実装する方向だとお伝えしていましたが、
ブログエディターの<img>タグの設定に拡張項目としてdata-popup属性を追加しました。

data-popup属性は公式JavaScriptの機能で、属性が存在する場合、画像クリック時に属性値を画像URLとしてポップアップ表示します。
機能を利用するために今まではHTMLコードを直接編集する必要がありましたが、タグ設定メニューから画像URLを指定すれば利用できるようになりました。


公式JavaScriptの独自属性なので知らない方には何の属性なのかわからないですが、
タグ設定メニューでは属性名の箇所にカーソルを合わせると簡単な説明がチップ表示されます。

[後ろに改行]機能を追加しました

久しぶりの機能変更になりますが、
ブログエディターに[後ろに改行]機能を追加しました。

ブログエディターでタグ適用範囲を右クリックした際のタグ編集メニューに[後ろに改行]が追加されています。
この機能を使うと、編集対象のタグの後ろに<br>が挿入されます。
基本的に対象範囲の後ろに空行が挿入されますが、ブロック内末尾のインラインタグで行った場合は2回挿入しないと見た目が変わらない場合もあります。

タグが複数連続して並んでいる場合や、ブロック内末尾にタグが存在する場合など、
タグの後ろ(タグの間)にキャレットを移動させることができませんのでそのまま編集することができませんので、末尾やタグ間に空行を挿入して編集しやすくするための機能です。
<div>が並んでいて間に文章を挿入したい場合などに便利だと思います。

定義済みのタグの殆どで有効にしましたが、<li>の場合は親要素<ul>か<ol>に適用したいですが、
<li>の編集で[後ろに改行]だとわかりにくいと思うので、<li>のみ除外しました。


あと、公式JavaScriptの機能で画像ポップアップ機能がありますが、
現在はHTMLコードの直接編集を行わないと機能が利用できませんが、マウス操作のみで機能が利用できるようにしたいと考えています。
実装する方向で考えています。

アクセス解析ツールを廃止にします

当初より「試運転中」として正式サービス扱いにしておりませんでしたが、アクセス解析ツールを廃止にします。
当面の間は内部的には機能を残しておきますが、新規のツール作成ページヘのリンクを消しました。

アクセス解析ツールとは、当サービスのブログ等の機能として用意しているアクセス解析とは別の、外部サイト用のアクセス解析ツールです。
ブログ等の機能に変更はありません。

robots.txtへのリクエストに対してキャッシュを使うようにしました

robots.txtへのリクエストでエラーが発生し503が大量発生していることが判明したので、robots.txtの配信効率を上げるために、
robots.txtへのリクエストに対する応答時にLast-Modifiedを接続時刻で返し、100日以内の再接続時は304 Not Modifiedを返すように変更しました。

ただ、503が発生する前に1回だけ500が発生しているようで、その原因がApacheのモジュールレベルにある様で、
若干ログの出方が違うのですが、こちらの2014-12-30の記事に書いた件と症状が似て、
mod_aliasのバグが原因でmod_fcgidでエラーが発生しているような気がするので、mod_aliasの代わりにmod_rewriteを使うようにサーバー設定を変えてみました。

この記事を書いている間にエラーが発生していたのと同様と思われるリクエストが発生していたのですが、
正常に捌けているようなので、解決したと思います。

今後も問題が継続しているようなら、自動で監視と再起動をするようにして対応しようかと思います。


上記のmod_aliasバグは、ディストリビューター配信バージョンのApacheを使用しているのですが、
Apacheの公式ではこの件の修正がされているような記述を見たので、公式の最新バージョンでは存在しないのではないかと思います。
メモリエラーが発生した後にFastCGIのスロットがゾンビ化してmod_fcgidがエラーを吐く症状なのですが、
バグはmod_fcgidではなくmod_aliasに存在して、mod_aliasとmod_fcgidを併用すると問題が生じる気配。

XML-RPCメソッドを追加しました

ブログのXML-RPC機能のサポートメソッドに、
metaWeblog.getRecentPosts(新着数件の文章を含めた記事情報を取得)
mt.getRecentPostTitles(新着数件の文章を含まない記事情報を取得)
と記事一覧を取得するメソッドは用意してあったのですが、
特定の記事を取得するためのメソッドが実装されていないことに気づいたので、
新たに、
metaWeblog.getPost
に対応させました。

アプリ等を作る際に、記事一覧から取得した記事IDで特定記事を取得するという処理が考えられますが、
metaWeblog.getRecentPostsですと文章を含めた情報が返ってくるので転送量が多くなってしまうので、
mt.getRecentPostTitlesで記事IDを取得して metaWeblog.getPostで記事情報を取得するのが良いと思います。

また、metaWeblog.getRecentPostsとmt.getRecentPostTitlesが今までは最大100件になっていたのですが、
metaWeblog.getRecentPostsの方は100件だと大きいので10件に減らしました。

QRコードプラグインの仕様を変更しました。

今まではQRコードプラグインではモバイルページのURLをQRコード化して表示していましたが、
スマホの普及によりガラケーでWEBを閲覧するという行為が行われなくなっているので、QRコードはモバイルページのURLではなくPCページのURLを記載すべきと判断したためQRコードプラグインの仕様を変更しました。

今まではプラグイン作成時にURLをQRコード化した画像ファイルを作成して表示していましたが、
QRコード化する文字列を変更する機能を用意し、サーバー側が画像を作成せずにブラウザが生成して<canvas>で描画する仕様に変更しました。

変更内容
 変更前変更後
対応ブラウザ
画像が表示できるブラウザ<canvas>対応ブラウザ(IE8不可)
QRコードの内容モバイルページのURL未設定の場合はブログトップページURLとなりますが、
URL以外も含めて自由な文字列をQRコード化できます。(最大2953byteまで)

QRコードの作成は新しく公式JavaScriptに追加した機能によって行われるため、公式JavaScriptをロードしないテンプレートでは利用できなくなりました。
以前の仕様でQRコードプラグインを使用したことがある場合は、ユーザーのファイル保存領域にQRコード画像が作成されていますが、削除して問題ありません。


また、 http://ユーザードメイン/m/ がガラケー用URLとして用意されており、公式に用意されているCompact HTMLテンプレートで表示されていますが、
Compact HTMLテンプレートを廃止してガラケー用URL接続時もPCと同一のテンプレートを使用するように変更しようか検討しています。
ガラケーでWEBを閲覧するという行為が行われなくなっていると思いますので通常はガラケー用URLが不要であると思いますし、
標準のPC用テンプレートは条件分岐によりガラケー用URL時はCompact HTMLを出力するような高度なテンプレートを作成することが可能ですが、現在の仕様だとユーザーに編集権限がないため全くカスタマイズできないからです。

バージョン8以下のIEにメッセージを表示するようにしました

バージョン8以下のInternet Explorerで公式サイトを利用しているユーザーさんがまだ居るようなのですが、
いずれは対応ブラウザから外して利用できないようにしたいので、
バージョン8以下のIEで公式サイトトップページを表示した場合にブラウザの変更をお願いするメッセージを表示するようにしました。

コード量が多いのはブログエディターですが、
JavaScriptのコードを書く際に、バージョン8以下のInternet Explorerは他のブラウザと共通コードを利用できない箇所が多くなってしまうので、
現在のところブログエディターのスクリプトはバージョン8以下のInternet Explorerとその他のブラウザで完全に分けています。
既にバージョン8以下のInternet Explorer用スクリプトには機能追加等は行っていませんが、他ブラウザと処理内容が違うので完全に廃止してコードを統一したいです。

Windows Vista のInternet Explorer初期搭載バージョンが7なので、IE7及びIE8はMicrosoftのサポートを2017年まで受けられると思いますが、
VistaではIE9が利用可能ですのでIE9へのバージョンアップをお願いします。
IEではなくFirefoxの利用への変更をおすすめします。

IE8を利用している方は主にWindows XPの方だと思いますが、Windows XPは既にMicrosoftのサポート期限が切れているので、XPでインターネットに接続するのは危険です。
XPを使い続ける場合はFirefoxの利用をお願いします。
XPで最新のFirefoxを使う場合、XPにService Pack 3を適用する必要があります。


公式サイトの方はバージョン8以下のIE利用者がいなくなれば、すぐにでもバージョン8以下のIEを非対応にしたいです。

公開されるユーザーサイトに関しては、機能追加スクリプトでバージョン8以下のIE専用のコードが使われていますが、
こちらの方はコード量もさほど多くなく滅多に更新も行いませんので、少なくともWindows VistaのMicrosoftサポート期限までは維持するつもりです。