メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバはVPS上に構築していた。 ・Ubuntu Server ・Postfix ・Dovecot ・spamAssassinと、BlackListの利用 Spam対策を行ってきたし、サーバ上でメールをトリガーにして各種プログラムを動かしたりしてきた。 メールサーバのメンテナンスは結構面倒くさくて、  ・Disk容量のチェック  ・不正アクセスのチェック  ・各種セキュリティパッチの適用 など、手間がかかる。 そこで、外部のサーバを利用することに…。 結構安くて使い勝手の良さそうなのが、「さくらのメールボックス」 3年契約で、3070円とな…。  メールアドレスは自分のだけなので、20GBまで利用可能!  (Gmailより大きいねぇ) ということで、早速契約。 アカウント設定を行って、既存のDNSを書き換える。WHOISも書き換えて完了。 SMTPとIMAPが利用できればOK。 ちょうど、GoogleがSPF設定していないと受信しないし、DKIMおよびDMARCに対応していないメールを弾くようになったので、対応しているのを確認。 さくらサーバ自体は、これまでお客さんのサーバとして何件も利用しているので、利用方法も難しくはない。  Webメールにも対応しているので、いざという場合にもありがたい。 ということで、各メールソフトの設定を変更。  PC(常時使用する3台)とタブレット、スマートフォンと台数は多いがそれ程手間はかからない。 問題は、旧サーバで送受信したメールの履歴だけれど、これはThunderbrdを使ってローカルに保存することで回避。  本当は、サーバtoサーバでMailboxに残そうとも考えたんだけど、古いメールはそれ程必要ないし、ローカルにバックアップしてあれば凌げるので、良しとする。 移行時にDNSの反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

DataTablesが動かない理由

結構面倒な処理

PHPでデータをDBから取得、表示する。この時ページネーションを行うのは、定番だけど…。
よく出てくる割には、案外面倒な処理。

Bootstrapだと、表示用のCSSは用意されているけれど、ロジックは無い。
フレームワークだと、ライブラリで持っていることもあるけれど、サクッと動く感じではない。

で、DataTablesを利用するという流れになるわけなんだけど…。
jQueryのプラグインで、tableタグをtheadとtbodyに分けて記述し、プラグインを呼び出すだけで、最低限の表の処理(ソートや絞り込み)を行ってくれる。

まあ、数百行程度なら、充分な速度で動いてくれる。

フレームワークで利用してみる

次のプロジェクトのために、色々とテストを行っている。
今回のDataTablesも、事前のテストの一環。

さて、フレームワークを使って、DBからデータを吸い出し、同様にDataTablesを利用するようにcodeを書きなおしてみる。

ところが、表示してみても、何も反応してくれない。(全く動作していない感じ)

項目表示の部分に△▽が表示されるはずなんだけど、これが出てこない。
もちろん、検索窓も、表示件数の処理も…。

なぜだ〜。

ということで、基本に立ち返りサンプルコードでテスト。
うむ、問題なく動作している。

と、ここまで作業して気づいたことがある。

テーブルを出力するページは、ひな形classを作っておいて、コンストラクタでオブジェクト生成している。ページごとに異なる部分だけ、オーバーライドするようにしているのだけれど…

DBからデータを引っ張ってきて表示する時に、1列余分に追加して表示していた。
(表示・編集・削除のアイコンを付加していた)

この時、最上部の項目を出力していなかった。<th></th>が1つ不足している状態。
図のように「編集」という文字を出力するように付加してみたところ、DataTablesがちゃんと動作してくれた。

当たり前といえば…当たり前。
データをソートさせる列の列名が存在していないので、エラーを起こしているのだった。

う〜む、こんなところで躓くとは、疲れているのかな〜。

ちなみに、「多機能テーブルDataTablesを使う」を参考に、表示部分を日本語化しています。
個人で使用するのには問題ないけれど、お客さんが使うことを考えると、こういった細かいチェックは必要になるんでげす。


コメント

このブログの人気の投稿

WPS Officeで日本語入力ができない

VirtualBoxでUSBから起動

Virtualboxとnvidiaドライバ