2012年5月15日火曜日

良いWEBサーバーって?その2 今さら……第4回


良いWEBサーバーって? 今さら……第4回

今さら聞けないネットのあれこれ。
と言う事で、WEBサーバーについてのまとめです。

重要度:★★★
難易度:★★


前回、「安いモノには理由がある」と言いましたが、その理由と言うのは殆どの場合は、機能面での問題になります。

趣味としてのホームページであれば、機能面で多少の問題があってもフォローが出来るかも知れませんが、これがビジネスで使用する場合は、そうはいきません。
不安材料は可能な限り排除して、余裕のあるサイト運営が出来なければ、我々プロがいる必要も無いのですから。

では、「良いWEBサーバー」選びの基準についてお話します。
なお、これはあくまで私個人の基準ですので、他の製作会社やプロの方の意見とはかなり違うかも知れないので、あくまで参考としておいてください。

さて、現在「レンタルサーバー」と検索すれは、無数の情報が表示されます。その中から確実に「動く」WEBサーバーを選ぶことは、一般の方には少々ハードルが高いですね。

当然私も複数のサーバーから最適な物を選ぶのですが、その基準を下記にリストとします。
選択優先度は上から下に行くに従って、低くなります。
つまり、最初の項目が一番重要で、下に行くほど低くなります。
しかし低いから判断基準から除外する訳ではなく、総合的に判断する基準のうちの一つだと思ってください。


WEBサーバー選びの重要ポイント★3つで最高
・データベース
・言語
・サポート
・マルチドメイン対応
・サーバー容量

データベース  選択優先度:★★★
最近はCMSの使用を前提としてホームぺージ製作をしますので、ここが最重要のポイントとなります。
マルチドメイン※1同様、最近のWEBサーバーでは、当りまえの仕様になっていますが、使用できる容量に制限があったり、一契約当りの使用数に制限があったりするので、使用できるデータベースの数と容量の確認が必要です。
これも、使用できる数と容量は多ければ多いほどいいですが、まぁ最低限1データベース当り、300M程度の容量は確保したいですね。選定時に注意したい事は、データベースは使えるけど、具体的な容量や制限が明記されていないサーバーがあるので必ず確認してください。

言語  選択優先度:★★★
言語?と言ってもピンと来ませんよね。
これはWEBサーバーで扱えるプログラム言語の事になります。最近ではHTML以外にPHPやCGI※2と言った言語が動作するのかの確認も重要です。
これも、データベース同様、最近のWEBサーバーでは標準仕様となっていますが、PHPについてはヴァージョン5が使える事が前提となるので、その辺りの確認をしてください。

サポート  選択優先度:★★
意外と見落としがちですが、サポート体制がしっかりしているかどうかは、機能面並みに重要です。
閲覧可能な範囲で、サポートマニュアルを良く読んでください。
もし解りやすい内容で書いてあるとすれば、上出来です。

マルチドメイン対応  選択優先度:★★
一つの契約で、複数のドメインが使用できるというモノです。
最近のWEBサーバーでは比較出来当りまえになっていますので、ここでは、一契約で何個のドメインが使えるかを選択基準にします。

サーバー容量  選択優先度:★
これは、大容量に越したことはありませんので、利用料金が同じであれば、サーバ容量の多いところを選びます。
現在のWEBサーバーはハードディスクの巨大化で容量に対する価格がどんどん下がっていますから、選択優先度は低い状態です。

その他
機能面で上記以外の機能やサービスがあるかと思いますが、それらは……

おまけ だと思ってください。

上記の内容を満たしているのであれば、後はこちらの「おまけ」を選択事項に入れる事も可能です。


あくまで上記にあげた内容は、サーバー選びの一例です。
お客様によく聞かれる事が「無料サーバー」はどうなの?と聞かれる事があります。
むろんホームページの規模によっては、無料サーバーでも十分な事もありますが、無料サーバーの場合は、かなりの頻度でページ内に広告が掲載されてしまいますので、企業ホームページとしては、如何なものかというところです。

また、値段の安いサーバーは上記の選択条件のいずれかに問題がある場合が多いので、妥協点を何処に設定するかで、借りるWEBサーバーの金額が決まると言ってもいいかと思います。




マルチドメイン※1
一つの契約で、複数のドメインが扱える事を言います。
数年前までは、ドメインは一契約につき一ドメインでしたが、今は殆どのレンタルサーバーで、マルチドメインが標準化されています。選定のポイントとしては、何個のドメインが使用できるかを確認してください。


PHPやCGI※2
プログラム言語と説明しましたが、これは動的なホームページを制作するのに欠かせない言語です。
つまり、現状でPHPが動かせない様なレンタルサーバーでは、誰も借りないでしょうね。

動的なホームページと言うのは、データを読み込んで表示をするようなページの事を言います。
HTMLで書いたページを静的と言いますがその反対の意味で、動的なページとうい言い方をします。
このあたりは、そのうちに詳しく説明したいと思います。


2012年5月14日月曜日

良いWEBサーバーって? 今さら……第3回


良いWEBサーバーって? 今さら……第3回

今さら聞けないネットのあれこれ。

今回は【良いWEBサーバーって?】

と言う事で、ドメインの次は、WEBサーバーについてのお話をしましょう。

重要度:★★★
難易度:★★


ここでは、WEBサーバーと呼んでいますが、一般的な呼び名は「レンタルサーバー」と言われている、ホームページ表示を前提とした、ネット上に公開している、ストレージサービス※1となります。

要するに、

HTMLを基にして、画像や文章を表示させる為のデータを置いておく場所

だと思って頂ければ結構です。

前回のドメインでのお話で、「ドメインは無くても、WEBサーバーが無いとダメ」と言ったように、WEBサーバーが無ければホームページを表示させる事は出来ません。とにかくWEBサーバーを借りる事が、ホームページ製作の第一歩となる訳です。

では、表題の「良いWEBサーバー」とは、どんなサーバーなのでしょうか?
ホームページ製作をしていると、お客様から「良さそうなWEBサーバーがあれば、紹介して?」と言うような相談と言いますか要望をよく受けますが。

「良いWEBサーバー」の基準は??

と思う時があります。
本来我々、製作サイドでの「良いWEBサーバー」と言うのは、お客様のサイトが確実に動作するサーバー。という事になり、「良いWEBサーバー」と言うよりは「動くWEBサーバー」と言う事になります。

しかし、お客様から見れば、「安い」事が一番で、動く事が重要ではありません。
このあたりで時々ですが、お客様との意見が合わない事があります。

「こっちのサーバーはこんなに安いのに、なんでこんなに高いサーバーを使わないとダメなの?」

という会話もしばしば……

基本的に私たちが選ぶサーバーには、きちんとした【理由】があるので、そちらをご説明させて頂きますが、これだけは、覚えてください。

「安いモノには理由がある」 と……

最近ホームページ製作は、CMS※2を使用したいわゆる高機能なホームページが増えています。昔のように単純なHTMLベースのホームページとは違い、色々と複雑な動作条件があるので、どうしても、安いWEBサーバーでは、動作が厳しい場合があるのです。

もちろん基本的なHTMLで製作するのであれば、その限りでは無いのですが。

では今日はここまで。
次回は、WEBサーバー選びの基準について、お話します。





※1:ストレージサービス
ストレージとは外部記憶装置つまり、自分のパソコン以外の場所にデータを移すサービスとなります。
例えば、CDやDVDにデータを移す事も、ストレージと言います。
ここで言うストレージサービスとは、自分のパソコン以外にデータを置くと言う意味で使用しています。

※2:CMS
コンテンツマネジメントシステム(Content Management System,CMS)の略。
今までのホームページ製作は、専門知識が必要でしたが、CMSを導入することで、ブログのように簡単に更新・変更等が行えるプログラムシステムです。
詳細は、こちらから>>









2012年5月11日金曜日

ドメインとWEBサーバーその2 今さら……第2回

今さら聞けないネットのあれやコレ。
前回はこちら>>

【ドメインとWEBサーバー】

について、その2です。

重要度:★★★★
難易度:★★★


前回は、ドメインとWEBサーバーは別という話をしました。
そんなことは当たり前です。と言われる方も多いと思いますが、では、ドメインの所有権はお持ちですか?

ドメインとは、世界に一つだけのモノです。
そのドメインの所有権は持っていますか??

ドメインの所有権とは、WHOIS情報※1による、登録がされているか?
と言う事になります。この登録内容は こちらから確認出来ます>>

自分がそのドメインを使っているからと言って、所有権まで持っているとは限らないので、ご注意いください。

なぜこんな話をするかと言いますと、新しいホームページを製作する際に、どうしても現状のWEBサーバーでは、機能的に無理がある場合があり、WEBサーバーを他社へ変更しないといけない場合があるのです。
WEBサーバーを他社へ変更すれば、当然ドメインもそちらへ動かす(WEBサーバーへの関連付け)必要があるのですが、その時にドメインの所有権が無いために、面倒な手続きと、お金(費用)が掛かる場合があるからです。

前回お話した、「ドメイン込みのサーバープラン」で取得したドメインに多いのですが、
「サーバーを変えたいから、ドメインも移します」
という場合、ドメインを移すには、お金が掛かりますよ……

と言われる事が多々あります。
これは、ドメインの登録がサーバー業者になっている為におこる事で、意外と多いトラブルの一つです。

本来ドメインは世界中どこのWEBサーバーでも使用できるはずですが……
実は、最初にドメインを何処で取得するかで、上記のような事が起こってしまいます。

通常ドメインはレジストラ※2と呼ばれるドメイン取得代行業者からユーザーが直接買う(手続きをする)のですが、ドメイン込みプランで申し込みをした場合は、ドメインの申し込み自体は、サーバー業者が行う事になります。

本来であれば、使用している人が持つはずの所有権ですが、サーバー業者が登録してるために、使用者に所有権が無い場合が多いようです。(ドメイン込みのプラン全てがそうではないので、契約内容をよくご確認ください。)

その場合、登録レジストラの変更手続きをする必要になります。

なぜ、そのような事になるかと言いますと……
まぁ、大人の事情……といいますか、
サーバー込みで採ったドメインだから、サーバーをやめるのであれば、お金払ってよ。
と言うのが本音でしょうね。(実際のところは不明ですが……)

また、このレジストラ移管が結構面倒で……本来はすごく簡単なはずですが。

と言う事で、今回の話で、私が言いたかった事は、

ドメインとWEBサーバーは自分で契約しましょう。

と言う事です。
本来、ドメイン取得サイトで取得したドメインであれば、世界中どこのWEBサーバーでも使えるはずです。ドメイン取得サイトの全てがレジストラではありませんが、ドメインをとる前に、その辺りを確認しておけば、こういったトラブルから、解放されます。




補足事項
※1:WHOIS情報
ドメインの登録情報になります。これは世界中どこでも同じ情報が表示されます。
つまりこの情報で、ドメインの所有者から、使用しているWEBサーバーまで解ってしまいますから、ある意味怖いと言えない事も無いですが。

※2:レジストラ
ドメイン取得の代行を行う業者です。
要するに、WHOISに登録する作業を代行してくれる業者です。
有名なところでは、「お名前.com」などがあります。
ドメイン取得で検索すれば、色々とあります。またレジストラによって、ドメインの管理料金も違うので、安いレジストラに移管する事も、経費削減としては、有効です。




2012年5月10日木曜日

ドメインとWEBサーバー 今さら……第1回

今さら聞けないネットのあれやコレ。
記念すべき第一回は、

【ドメインとWEBサーバー】

について、説明します。

重要度:★★★★
難易度:★★★



一般の方でドメインとWEBサーバーの関係を把握している人は、少ないと思います。
まぁ、正確に把握しておく必要はないのですが、みなさん意外と把握していない事が多いので、ここでしっかり、お勉強しておきましょう。

では、ドメインとWEBサーバーの関係は……
賃貸住宅(部屋)と表札だと思ってください。

つまり
ドメイン = 表札
WEBサーバー = 賃貸住宅(部屋)
となります。


賃貸住宅(部屋)が無ければ、モノを置く(データ)事は出来ませんが、
表札(ドメイン)が無くても困る事はあまりありません。

つまり、表札と部屋は別々の関係にある。
と言う事です。

しかし最近のWEBサーバーで「ドメイン込みで……」という宣伝を見かけますが、これは
「部屋を借りてくれれば、表札も付けるよ」
と言っている事になります。

一見すると、とても便利でしかもドメイン代金も込みだから、割安?なように見えますが、実はここに重要な落とし穴が……

先ほど言った、ドメインとWEBサーバーは別と言った意味ですが、仮にこのプランでサーバーの契約をすると、おそらく殆どのサーバーで、ドメインの契約者がサーバー業者と言う事になります。

特に問題は無いように見えますが……

続きは、次回。

2012年5月9日水曜日

Facebookファンゲートのエラー表示

ファンゲートを設置したら、エラーが表示されて、しばらく格闘してしまった……
ファンゲートに関するエラー情報が以外と少ない。
というより、エラーは想定していない設定マニュアルもどうなんだろうね……

ところでファンゲートについて簡単にご説明を。

ファンゲートは、フェイスブックアプリの一つで、いいねボタンを押した人と、押さない人で閲覧できるページを変えるという機能を持つモノです。


多分フェイスブックを使っている人は、一度ぐらいは見かけた事があるのではと思います。

例の「いいねボタンを押してね」とか「この先の情報はいいねボタンを押すと閲覧出来ます」というあれです。

興味がある人は「ファンゲート」で検索すると色々と出てくるの探してください。

さて、本題です。
このファンゲートを設置した……わ、いいけど、下記のエラーが表示される状態にハマり、情報を収集。


Fatal error: Call to undefined function json_decode() in


なに?Jsonが無い??そんなはずはないんだが……
と思っていたら、しまった!サーバーの設定か……

使っているwebサーバーの仕様で、ある設定をしないと、php4で稼働するになっている事を、すっかり忘れていました。

json_decodeはphp5から追加されたモノなので、上記のエラーコードが表示されていた様ですね。
幸い、php5に変更するのは簡単でしたので、変更後テストすると。問題無く動く事が確認されました。

ちなみに、使用しいるwebサーバーは、hetemlですが、契約が結構古いので、現状でもphp4とphp5での共存稼働状態です。
最近の契約であれば、自動的にphp5になっているはずですが、ご心配な方はサーバーの仕様を確認してください。

ちなみに、どうしてもphp4で動かしたい場合は、下記のサイトを参考にしてください。


facebookアプリのファンゲート機能をPHP4で実装する


Facebookページ:iframeで「いいね!」を押す前と押した後で表示を変える“ファンゲート”について



今さら聞けないネットのあれやコレ

どの様な仕事でもそうですが、必ず専門分野と言うモノがあります。
特にサイト製作やネットに関する事柄というのは、その専門分野の塊と言いますか、まぁ単に専門用語特に横文字が多いだけなのですが。

特に最近はネットニュースだけではなくTVニュース等でもネットに関する話題が毎日流れています。

その中で、今さら聞けない内容……

と言うお題もあるかと思います。
そんな、話を出来るだけ簡単にわかりやすく説明出来れはいいかな?
という感じですね。

いずれにしても横文字の専門用語は日々ネットをうろついている、我々でさえ、たまに「??」と首をひねる場合がありますから、一般の方では、呪文やお経なみに意味不明でしょうね。

情報過多のこのご時世であっても、専門用語と言うのは、理解するには、難しいモノです。

さて、今後このブログで、

【今さら聞けないネットのあれやコレ】

と題して定期的に、コラムの様な形でご紹介して行ければと思っています。

また、コラムの最初に記載内容の目安的な基準を設けておきます。

重要度:★★★★★
難易度:★★★★★

表示は★を使った5段階表示で、★の数が多いほど難しいあるいは重要という事を表します。

--重要度--
これは知っていないと、損やトラブルが発生する可能性がある事をしまします。
別に、知っていて当たり前という事ではなく、知らないと損をするという程度だと思ってください。

--難易度--
話の内容の難易度になります。
可能な限り、わかりやすくを目指しますが、どうしても難しくなる場合もあるので、その辺りはご容赦ください。

また、こんな事を教えてほしい等のご要望があれば、コメントしてください。
今後のネタとして検討させて頂きます。



2012年2月22日水曜日

Thunderbird 起動直後エラー表示で固まる…… 修復方法


Thunderbird 10.0系あるいは、旧バージョン可能かも?
旧バージョンについては、下記の方法で修復を行った場合の動作保障は致しません。

Thunderbirdに新しいアカウント設定を行ったあとで、下記の様なエラーメッセージが表示された。


まぁ、Thunderbirdは昔から、新規設定直後にこの手のダイアログはよく出るので、別段気にもしなったが…… エラーメッセージ表示後、なんと完全に固まる状態に……

何もクリック出来ない。

これはマズイ!
何しろ完全にソフトが固まっている状態で何もできない。

とりあえず何が悪いのかを確認するために、いくつか起動を試みる。


セーフモードのでの起動
まず、【スタート】【すべてのプログラム】【Thunderbird】で
Shiftボタンを押しながら、Thunderbirdを起動させて、すべてのアドオンを無効化にチェックを入れて、【セーフモードを続ける】をクリック。


その後、Thunderbirdが起動するが……状況は変わらす、同じエラーが表示されて、再びハング……

では、オフラインではどうか?と思ったのですが、これまた問題でオフラインに変更しようとしても、起動直後にエラーアラートが表示されてしまい、メニューバーをクリックするような時間を与えてくれません。

つまり、起動後即ハングの状態。

エラー内容から、先ほど設定したアカウントに何らかの問題があって、固まっていているような雰囲気なので、そのアカウントを削除すれば、上手く起動しそうな感じですが、ソフトが固まっているので、通常の手続きではアカウントの削除は出来そうにありません……

では、どうするか……

Thunderbirdのサイトではこのような場合は、バックアップを取った上で、新規インストールを薦めていますが、アカント設定そのものが固まる原因の場合、バックアップにも当然問題のアカウントはあるはずですよね。そう考えると、新規インストールについては疑問が残ります。じゃあどうすればいいか……

こうなるともう、プロファイルデータを直接手動で変更するしか、手がないです。

と言う事で、ここから先の作業については、自己責任にてお願いします。
この作業を間違えた場合は最悪ソフトの起動すらできなくなる状態になり可能性もあるので、

あくまで自己責任でお願いします。
上手く動かなくても当方に文句わ言わないように。

では、まず肝心のプロファイルデータですが。場所は下記にあります。

Application Data/Thunderbird/Profiles/*****.default/

内にある、prefs.js です。

まずこのファイルのコピーをとっておきます。
これは今後の作業でファイルが壊れた場合のバックアップです。
(上手く修正出来れば、最終的に削除してください)

コピー後このファイルをエディター等で開いてください。
そうすると、下記の様な表記がズラズラとでてきます。
で、削除したいアドレスを検索して関連する箇所を削除すれば、OKなのですが、どこを消せばいいか?

と言う事で、サンプルです。
削除したいアカウント【info001@ab012.com】
これを検索すると、赤文字の部分が出てきます。
実際には、もう2・3箇所検索ででるのですが、それはフォルダー関連ですので、今回は*****とさせていただきました。

さて、では削除しましょうか……?
何処から、どこまでを消せばいいの?
JavaScriptoが理解できる人はいいですが、そうでない人には、どこを削除すればいいのか、さっぱりですよね。(私もJavaScriptoは断片的しか理解できていないので……)

アドレスが表記してある行を消せばいいの?それともアドレスだけを消せばいいの??

と言う事で、削除範囲は、黄色になっている範囲全部です。
結構ごっそりです。

わかりやすい判断基準はそれぞれの、アドレスが入っている行の青文字の箇所を確認してください。
良く見ると選択範囲は全て同じ条件ですよね、つまり、その箇所が同じと言う事は、データ的には何らかの関連があると考える事が自然なので、同じ変数のエリアを削除します。

//////////////////////////////////////////////////////////////////////////

user_pref("mail.identity.id11.stationery_folder", "mailbox://*****");
user_pref("mail.identity.id11.tmpl_folder_picker_mode", "0");
user_pref("mail.identity.id11.useremail", "*****@ab012.com");
user_pref("mail.identity.id11.valid", true);
user_pref("mail.identity.id2.archive_folder", "mailbox://*****"); ここからid2
user_pref("mail.identity.id2.doBcc", false);
user_pref("mail.identity.id2.doBccList", "");
user_pref("mail.identity.id2.draft_folder", "mailbox://*****");
user_pref("mail.identity.id2.drafts_folder_picker_mode", "0");
user_pref("mail.identity.id2.escapedVCard", "");
user_pref("mail.identity.id2.fcc_folder", "mailbox://*****");
user_pref("mail.identity.id2.fcc_folder_picker_mode", "0");
user_pref("mail.identity.id2.fullName", "abcd0012");
user_pref("mail.identity.id2.organization", "");
user_pref("mail.identity.id2.reply_to", "");
user_pref("mail.identity.id2.smtpServer", "smtp3");
user_pref("mail.identity.id2.stationery_folder", "mailbox://*****");
user_pref("mail.identity.id2.tmpl_folder_picker_mode", "0");
user_pref("mail.identity.id2.useremail", "info001@ab012.com");
user_pref("mail.identity.id2.valid", true); ここでid2が終了

user_pref("mail.identity.id3.archive_folder", "mailbox://*****");
user_pref("mail.identity.id3.attach_signature", true);
user_pref("mail.identity.id3.doBcc", false);
user_pref("mail.identity.id3.draft_folder", "mailbox://*****");
user_pref("mail.identity.id3.drafts_folder_picker_mode", "0");

//////////////////////////////////////////////////////////////////////////

user_pref("mail.server.server2.login_at_startup", true);
user_pref("mail.server.server2.name", "オーダー");
user_pref("mail.server.server2.realuserName", "******@ab012.com");
user_pref("mail.server.server2.spamActionTargetAccount", "mailbox://*****");
user_pref("mail.server.server2.type", "pop3");
user_pref("mail.server.server2.userName", "0123");
user_pref("mail.server.server3.ageLimit", 30);  ここからserver3 
user_pref("mail.server.server3.applyToFlaggedMessages", false);
user_pref("mail.server.server3.check_new_mail", true);
user_pref("mail.server.server3.cleanupBodies", false);
user_pref("mail.server.server3.daysToKeepBodies", 30);
user_pref("mail.server.server3.daysToKeepHdrs", 30);
user_pref("mail.server.server3.defer_get_new_mail", true);
user_pref("mail.server.server3.deferred_to_account", "account1");
user_pref("mail.server.server3.delete_by_age_from_server", true);
user_pref("mail.server.server3.delete_mail_left_on_server", true);
user_pref("mail.server.server3.directory", "C:\\*****");
user_pref("mail.server.server3.directory-rel", "[ProfD]Mail/*****");
user_pref("mail.server.server3.downloadByDate", false);
user_pref("mail.server.server3.downloadUnreadOnly", false);
user_pref("mail.server.server3.download_on_biff", true);
user_pref("mail.server.server3.hostname", "mail.mail.jp");
user_pref("mail.server.server3.keepUnreadOnly", false);
user_pref("mail.server.server3.leave_on_server", true);
user_pref("mail.server.server3.login_at_startup", true);
user_pref("mail.server.server3.name", "info001@ab012.com");
user_pref("mail.server.server3.numHdrsToKeep", 2000);
user_pref("mail.server.server3.num_days_to_leave_on_server", 14);
user_pref("mail.server.server3.port", 995);
user_pref("mail.server.server3.socketType", 3);
user_pref("mail.server.server3.spamActionTargetAccount", "mailbox://*****");
user_pref("mail.server.server3.spamActionTargetFolder", "mailbox://*****");
user_pref("mail.server.server3.type", "pop3");
user_pref("mail.server.server3.userName", "info001@ab012.com"); ここまで

user_pref("mail.server.server4.defer_get_new_mail", true);
user_pref("mail.server.server4.deferred_to_account", "account1");
user_pref("mail.server.server4.directory", "C:\\*****");

//////////////////////////////////////////////////////////////////////////

削除が終わったら、ファイルをセーブして、上手く行きますようにとお祈りしながらThunderbirdを起動します……

結果は…… バッチリです。

通常起動に成功。元の状態に戻りました。
今まで受信したメールも無事です。

とりあえず一安心です。
一時は、再インストール?などと怖い考えも有りましたが、なんとか元に戻りました。

ただし、あくまでこの作業は緊急時に行なう手動でのアカウント削除作業です。
通常は、ソフトから正規の手順で削除してください
また単に偶然?上手くいった可能性も否定できませんので、作業はあくまで

自己責任でお願いします。

また、今回はアカウント関連でのエラーだったので、上記のような方法を取りましたが、違うエラーの場合は、今回の作業で必ずしもうまく行くとは限りませんので、ご注意ください。

要するにイヂルなら、自己責任でお願いします。

と言う事です。(笑





2012年2月15日水曜日

EC-CUBE2.11.X テンプレートカスタマイズ HTML5化?の覚書


EC-CUBEのテンプレートは基本的にHTML4で書かれています。スマートフォン用のテンプレートはHTML5ですが…… まぁ、ブラウザーもまだIE6あたりも使っている人もいますし、WindwsXPユーザーだと、IEを使っているかぎり、HTML5の恩恵は受けられないですしね。

しかし、制作者サイドとしては既に多くのサイトをHTML5で構築していると、

もうHTML4には戻れない!

というのが正直な感想では?と思うのですが……

ま。HTML5と言うより、CSS3の機能が使いたいだけ、なんですけどね。
CSS3の強力なグラフィカル表現だと、装飾画像の類がかなり省けるので、ブラウザーに優しく、表示も早い?です。

さて、前置きはこのくらいで。

では、HTML5とCSS3を実装するにはどうしたらいいのか。

単純で至極簡単です、ヘッダーのドキュメント宣言を変更すれば、完了です。

EC-CUBEのヘッダー情報はどこのファイルかといいまと、

/data/Smarty/templates/default
内の

site_frame.tpl

になります。


///////////////////////////////////////////////////////////

<!--{printXMLDeclaration}-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--{*
この下はコピーライト関連

 *}-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<!--{$smarty.const.CHAR_CODE}-->" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta http-equiv="Content-Style-Type" content="text/css" />





///////////////////////////////////////////////////////////

と、こんな感じです。

で、肝心のドキュメント宣言はどこでされているかと言うと、冒頭の2行目ですね

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

これを、

<!DOCTYPE html>

と変更すれば、HTML5の出来上がり……ですが、実は、1行目にXML宣言がされています。
ブラウザーからソース確認して頂くとわかりますが、1行目の

<!--{printXMLDeclaration}-->

によって、XML宣言がされています。これって大丈夫なのかな?
殆どのサイトでは、HTML5は

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Example document</title>

の様な書き方で書かれています。
つまりXML宣言が無いモノが殆ど。

では、HTML5ではXML宣言は不要なのかな?と思いきや。
どうやら、別段XML宣言がされていても問題は無いようです。
ただし、XML宣言をした場合は下記のように記述する必要があります。

W3C原文 ///////////////////////////////////////

The other syntax that can be used for HTML5 is XML. This syntax is compatible with XHTML1 documents and implementations. Documents using this syntax need to be served with an XML media type and elements need to be put in the http://www.w3.org/1999/xhtml namespace following the rules set forth by the XML specifications. [XML]

Below is an example document that conforms to the XML syntax of HTML5. Note that XML documents must be served with an XML media type such as application/xhtml+xml or application/xml.



<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Example document</title>
  </head>
  <body>
    <p>Example paragraph</p>
  </body>
</html>


////////////////////////////////////////////////////

つまり、XML宣言されたHTML5ファイルの場合は、application/xhtml+xmlまたはapplication/xmlメディアタイプでないとダメですよ。
と言っています。

では、どうするか?

方法は2つ。

1.上記のようにXML宣言タイプに変更する。
2.XML宣言を消して(テンプレートから、変数を削除)ドキュメント宣言文に変更する。

この2種類になります。
どちらのファイルタイプを製作しても、問題無くブラウザーので動作はするので、使用するテンプレートによって使い分けていいかと思います。

上記の変更で、基本的にHTML5に対応したhtmlファイルになります。

後は通常と同じ作業で製作すれば、OKです。
装飾系にCSSを限定して、HTML構文に変化(HTML5専用タグ)を使用しなければ、HTML5未対応のブラウザーでの表示でも崩れる事は無いかと思います。

このあたり、はクロスブラウザーチェックで回避するしか手段がありませんが、まぁこの程度の変更で、MTML5&CSS3が使えるのであれば、良いのではないかと。

参考サイト
HTML5 differences from HTML4
http://www.w3.org/TR/html5-diff/

2012年2月10日金曜日

EC-CUBE 2.11.X カスタマイズ テンプレート関連 覚書

EC-CUBEも2.11.Xから、ついにスマートフォン対応になって、非常に便利になった?感じもしますが、元々それなりに複雑な表示テンプレートシステムだったモノが、更に難しく?なった感じも否めないですね……

と言う事で、いじり倒す前に、基本のファイル設定は書き出しておこうと思って書いています。
EC-CUBE 2.11.X 系でテンプレートへの変更を考えている方は、参考にしてください。
(他にも似たようなところは有るし、本家のフォーラムも確認してくださいね)

EC-CUBE 2.11.X は、
  1. PC
  2. スマートフォン
  3. 携帯
の3つの機種に対応、正確には各ブラウザーのユーザーエージェントを取得して、各テンプレートを切り替えているだけの代物です。

つまり、テンプレートは、各機器ごとにあるので、全部で3タイプある事になります。
しかも各テンプレートは完全に独立しているので、PCを変えたからと言って、スマートフォンを変えないと、表示がおかしくなる、と言うような事はありません。

PC用は表示情報量が多いので、変更する事はそれなりに大変ですが、スマートフォンや携帯であれば、比較的簡単に変更が可能です。

また、新しいテンプレートを製作しなくとも、システム上からCSS等の変更が可能なので、かなり自由に変更は出来るかと思います。
むしろ、tplファイルをいじる方が面倒な場合もあります……


前置きはこれくらいで、ではそれぞれの、ファイルの場所を。


PC関連テンプレート //////////////////////////////////


テンプレートファイル .tpl ***************************************

data\Smarty\templates\default フォルダ内

この中の.tplファイルがhtml表示用のテンプレートになります。
この中に更に、各ページ名称が振らたフォルダがありますので、その中に更に各ページに対するテンプレートファイルがあります。

defaultフォルダ内にある、ファイルの主なモノです。

site_frame.tpl //ページ表示用のヘッダー部分になります。CSSやJavaScriptファイルの読み先
site_main.tpl //コンテンツ表示部分この中に各.tplファイルが読み込まれます。

その他のファイルは、だいたいファイル名称通りの内容が記述されています。
あくまでだいたいですよ。



CSS(スタイルシート) .css ***************************************

html\user_data\packages\default\css フォルダ内

メインで使われているファイルは

common.css

他のファイルについては、ファイル名の内容に関するCSSが書き込まれています。



img(イメージファイル) .jpg等  ***************************************

html\user_data\packages\default\img\**** フォルダ内

内部に各使用目的別のフォルダがあるので、その中の画像を使用します。
このフォルダの画像は、CSSと直接.tplファイルに読み込む為のモノと共通です。



スマートフォン関連テンプレート //////////////////////////////////

テンプレートファイル .tpl ***************************************

data\Smarty\templates\sphone フォルダ内


CSS(スタイルシート) .css ***************************************

html\user_data\packages\sphone\css フォルダ内


img(イメージファイル) .jpg等  ***************************************

html\user_data\packages\sphone\img\**** フォルダ内




携帯関連テンプレート //////////////////////////////////

テンプレートファイル .tpl ***************************************

data\Smarty\templates\mobile


img(イメージファイル) .jpg等  ***************************************

html\user_data\packages\mobile\img


CSS(スタイルシート) .css ***************************************

どうやら、携帯にはCSSは適用していないようで、ファイルが存在しません。




ざっと調べた限りでは、上記の箇所を変更すれば、デザインに関する変更は可能です。

まぁ、レイアウト変更と言っても、デフォルトのデザインが3カラムですので、それを2カラムに変更したとしても、変えるべきモノは、TOPにあるメインイメージだけで後は、CSSで対応可能なレベルのテンプレートになっているので、よく出来たモノだと思います。

この各ファイルの場所さえわかれば、変更は簡単ですので、どんどんテンプレートをくつってみてください。


もちろん、テンプレート製作の依頼も受けておりますので、お気軽にご相談ください。






2012年2月6日月曜日

【自転車 メンテナンス】 ハブのメンテナンスを怠ると…

ホイールハブのメンテナンス。

最近のロードモデル用のホイールハブは、シールドベアリングが主流で、比較的安いホイールでも、メンテナンスフリーになってきてますね。

※言っている意味がわからない人は、【ハブ シールドベアリング】で検索してください。

まぁ、この流れはビギナーライダーとかには、手間がかからず非常に良い事だとは思います。


が!
シマノのホイールはそうではありません。
シマノはエントリー用の500番台のホイールから最上位の7000番台のディユラエースまで、全てカップアンドコーンと言う方式を採用しています。
(ロードだけではなく、MTBのホイールも同じ)

何故シマノはカップ&コーン方式を採用しているのか?については、下記リンクを観て頂くとして。
http://cycle.shimano.co.jp/publish/content/global_cycle/ja/jp/index/enjoy_knowledge/m_function/bearing.content.html

このカップ&コーンが曲者で、長く使おうと思ったら、最低でも年に1回ぐらいのメンテンスをしてやらないと、トラブルが……


メンテナンスなんて言っても、やる事は開放して、清掃&グリスUP程度の作業です。
それほど難しい作業ではありません。

専用工具(ハブスパナ)が必要になりますが、作業自体は古いグリスを拭き取って、新しいグリスを詰めてやるだけの単純作業です。


しかしこのメンテナンスが結構重要で、ホイールの寿命を左右したりします。
では、メンテナンスしないでいると、どうなるかをご覧に入れます。

これが、衝撃画像!
左が問題のパーツ。右は新品。



左側のパーツに一段段差があるのが、わかりますかね?
このパーツは、下の画像の4番に当たるパーツで、コーンと呼ばれているパーツです。




斜めになった箇所でベアリングを支えているのですが、新品は当然綺麗ですが、左の奴は、なにやら、筋が……そう。実はその筋の部分でベアリングを支えていたんです。

つまり、何らかの異物等が混入して、ベアリングとコーンの間に入り込み、その異物がコーンを削っ


では、更に拡大ドン!
ここまで、コーン本体が削られるって…

実は、この状態になるまで、2年ほど掛かっています。
と言うかですね、スペアパーツを入手してから、半年以上放置(そのまま使用)していました…

もうね、ここまで来ると負の連鎖がはじまって、最初に発見した時はまだベアリングは大丈夫だったんだけど、現状はベアリングもこんな感じ……


ベアリングって、鋼材の中では、比較的硬い素材なんだけど…
ここまで傷が付いていると、もう最悪です。
この状態では、ハブの回転もまともに回りません。
もしこの状態で使い続けるなら、今度はカップ側(ハブ本体)までダメージを与えて、最終的に最悪ハブ本体の交換です。

今回は、カップ(本体)側には影響が無く、単純にベアリングとコーンの交換で作業終了。

ちなみに、使用しているホイールは、WH-R550です。
通称「鉄下駄」と呼ばれているシマノのエントリーホイールですね。
安くて、丈夫(重い)が取り柄の、素晴らしいホイールです。

その昔、自転車屋が
「シマノの500番系のハブは、最低でも年1回のグリスUPをしないと、性能がキープできないよ」
と言っていたのを思い出しました。

つまり、年1回グリスUPをすれば、必ずハブを開けるので、内部の状態が確認できるから、その時に内部状況を確認しなさいと、言う事ですね。

さて、ヤバいパーツを交換して、古いグリスを綺麗に拭き取ってから、新しいグリスを塗ってベアリングをセットします。


後は、ハブ軸を通して、新品のコーンをハブ軸に廻して入れながら、玉あたりの調整をして作業完了です。

玉あたりは、その言葉通り、ベアリングと、このコーンを抑え付ける力(玉をあてる)の調整です。この調整を緩く締める場合と、きつく締める場合でハブの回転が違ってきます。この締め付け調整次第で、ハブの性能?が決まるくらい実は重要だったりしますが…

作業自体は、15分程度かな?
問題が無ければ、本当に簡単に作業が終わります。

ハブのメンテナンスは、走行性能に直結する部分なので、結構走りの感覚が変わったたりします。

ハブはブレーキ周りに次いで、命を乗せている重要なパーツでもあります。
(最悪走行中、ハブがロックしたりすると…  とかね)

自分でメンテナンスする場合は、自己責任となりますからその辺りは慎重にお願いします。

メンテナンスに自信が無い人は、ショップで見て貰った方が良いでしょう。
その時に、出来れば作業を見せて貰って自分で出来るようにするのも、一つの手です。

ちなみに、このホイールは現在かみさんのクロスバイクに使用中です。