IE10 へのアップグレードはちょっと待って!

お客様から「使っているクラウドサービス『メールワイズ クラウド』にログインできなくなった!」というヘルプがありました。

使われているクラウドサービスは、お客様にとって業務の中核をなすサービスで、ログイン出来ないことには困ります。使えなくなったのはお一人だけで、その方が使用している2台のPCでまったく同じ現象が発生していました。ログインIDを入力するとその脇に「✕」が表示されます。そして、ログインボタンをクリックすると認証エラーとなります。ブラウザーをFirefoxに変えると問題なくログインできます。

「ひょっとして」とIEのバージョンを確認すると10でした。

IE10ではセキュリティ機能が向上した、ということです。マイクロソフトの説明によると
「SmartScreenフィルターとDo Not Trackヘッダーは、Internet Explorer 10 で簡単に有効化できます。」
と書かれていますが、お客様はご自分では「有効化」の設定をしたわけでもないし、そもそもIE10に自動アップグレードしていたこともご存知ではありませんでした。

これはしばらく問題となるかもしれませんね。

調べてみると、「iCloudでログインできなくなった」事例などが出ています。
信頼済のサイトに「https://www.icloud.com」を登録したら解決しました。
と書かれています。「メールワイズ クラウド」も「iCloud」も「不審なサイト」ではありませんし、解決方法もまちまちのようです。

マイクロソフトでは「グラフィックドライバーを入れなおしてみて下さい」などとアドバイスしていますが、普通の方はそれが解決方法だとしてもそんな怖いことは簡単にはできませんよね。
IE10をアンインストールすることも普通の方だと出来ないでしょう。

ちなみに本件では、IE8でないと動作しないサービスが有ったということで、IE10をアンインストールしたのですが、「コントロールパネル」-「プログラム」-「プログラムと機能」から左側のメニューで「インストールされた更新プログラムを表示」をクリックして、一覧表示から「Microsoft Windows」の一覧の中から「Internet Explorer 10」をクリックしてアンインストールする、なんてことを誰でもができるわけではないことを、マイクロソフトにはわかって貰いたいです。

クラウドワークスクエア情報セミナー 開催

東京商工会議所 クラウドワークスクエアにて
情報セミナー 「クラウドで変わる販売管理・在庫業務管理 ~ Web Application Pack ~」を開催しました。

日 時:2013年 7月17日(水) 16:00~16:45
場 所:東京商工会議所ビル 1階クラウドワークスクエアセミナールーム
〒100 -0005 東京都千代田区丸の内3-2-2
地下鉄千代田線二重橋前駅下車 B7出口 徒歩1分
http://www.tokyo-cci.or.jp/about/map/

ワクラウドワークスクエア 情報セミナー
パッケージソフトで販売管理を稼働させているユーザー様向けに、クラウドでの運用によりどのような変革ができるかを、実例を持ってご説明

“クラウドワークスクエア情報セミナー 開催” の続きを読む

進化するJimdo

Jimdoが進化しています。
http://jp.jimdo.com/

はじめて紹介された時のJimdoは正直に言ってあまり目を引くところはありませんでした。

昨年、「みんビズ」を紹介されたときは、かなり驚きました。
http://www.minbiz.jp/
ドメインを取得し、レンタルサーバーを借りて、普通にホームページを作るよりも、はるかに手軽で、安くて、素晴らしいサイトが作れます。
何よりも業種別の最適デザインが用意されているのは素晴らしいと思いました。
昨年は今のようにテンプレートが公開されていなかったようですが、今はらくらく選んでいけます。

2013年度長岡市担い手育成総合支援協議会主催 商品パッケージ研修会では、Jimdoを使用したホームページ作成を、農業従事者を対象に講習することにしました。
そこで、Jimdoを使ってみるとまずはレイアウトパターンがたくさん用意されています。htmlタグもかなり自由に使えます。
無料版でも5商品まではショッピングカートを作れます。ただし、地域別の送料設定などはまだ設定出来ません。
スマホ版なども自動的に作られているようです。

WordPressより手軽でいいのではないでしょうか。
どんどん進化しているように思います。

EC-CUBE のカスタマイズ その1(インストール)

EC-CUBEをカスタマイズする機会があり、これは記録に残しておいたほうがいいと思いました。システムが継ぎ足されて機能追加されているようで、例えば管理機能では、商品管理と会員管理とではClassの構造も異なっているみたいです。カスタマイズはPHPで行うことを前提としますが、EC-CUBE内で行うケースと、PHPExceltcpdfなどのライブラリを使うためEC-CUBEから外に出したアドオン開発の必要があるケースにも及ぶことを想定します。

それでは、最初にインストールから参りましょう。

ダウンロード

EC-CUBEのダウンロードサイトからzipファイルをダウンロードして解凍します。

バージョンがeccube-2.13.2であれば右図キャプチャのようにいくつものディレクトリとファイルが展開されます。このうちアップロードするのはdataとhtmlの2つのディレクトリだけです。

インストールの前に決めておくこと

インストールする前に、以下の項目を決めておきます。

店名 お店の名前です。後で管理画面から変更できます。
メールアドレス お客様が買物をした時などにメールが送られてきます。
ログインID 管理画面のログインID(初期値)管理画面で追加修正できますが、インストール完了後すぐに使用しますので控えておいたほうがいいです。
パスワード 管理画面のパスワード(初期値)管理画面で修正できますが、インストール完了後すぐに使用しますので控えておいたほうがいいです。
データベースの種類 PostgreSQL か MySQL
あらかじめインストールし、PHPで使用できるようにしておく必要があります。
また、phpPgAdminかphpMyAdminもインストールしておいたほうが便利です。
データベース名 eccube_db(初期値)あらかじめ作成しておきます。
データベースのユーザー名 eccube_db_user(初期値)あらかじめ作成しておきます。
ユーザーのパスワード

データベースの種類ですが、カスタマイズを前提としていますので、ライセンスの違いから私はPostgreSQLを選択しています。PostgreSQLはBSDライセンスですが、MySQLはGPLライセンスです。カスタマイズ部分を配布しないのであれば問題はないとしても、著作権者がOracle社だということで生理的な不安感がある、という程度のことですが。

サーバーへアップロード

htmlとdataディレクトリをドキュメントルートにアップするわけですが、通常通りアップすると、インストールした時にディレクトリやファイルのパーミッションをいくつも変更してやる必要があり、これは実に時間と手間がかかることになります。
これを解決してくれる情報が下街ぶろぐ(東京下街タウン情報)に書かれています。これは大変に助かります。ぜひご参照下さい。

上記サイトではFFFTPを使用して、アップロード時のオプション設定によりディレクトリ単位でパーミッションの設定を予め行っておく、という方法が紹介されています。そのため、サーバーにはvsftpdなどをインストールしておく必要があります。この設定でhtmlとdataをアップします。

PHPExcelやtcpdfなどを使用するためアドオンによるカスタマイズを行う場合、その部分をhtmlディレクトリ内に配置してEC-CUBEのカスタマイズと分けることを想定し、htmlおよびdataの各フォルダごとアップロードすることにいたします。ドキュメントルートの下にhtmlやdataというディレクトリが入りますので、Apacheのエイリアス設定をした方がいいでしょう。

ドメインがhogehoge.jp、ルートディレクトリが/home/ec_testであればhttpd.confに例えば以下の様なエイリアスが切られていることを前提として、書き進めていきます。

Alias /ec_test/ “/home/ec_test/html/”

次のページヘ

EC-CUBE のカスタマイズ その2(EC-CUBEのデータベース構造)

eccube-2.13.2をダウンロードすると、docsフォルダ内に以下の様なデータベースの構造を記したドキュメントがあります。

  1. eccube-diagram.jude
  2. ER-D_Logical.pdf
  3. ER-D_Physical.pdf
  4. table_definition.xls
  5. テーブル定義書(EC-CUBE2.13dev).xlsx

eccube-diagram.judeは、システム内でのアクション(例えば「商品登録」)と使用しているテーブルとの相関マトリックスやE-R図などが全て網羅されたファイルです。astah* communityという無償のUMLモデリングツールで参照できます。astah* communityはここからダウンロードできます。

テーブルにはmtb_で始まるテーブルとdtb_で始まるテーブルとが有ります。

マスタデータ

mtb_で始まるテーブルは全て以下の列より構成されています。

id              smallint (primary key)
name        text
rank          smallint

これらのテーブルは、管理画面において「システム設定」-「マスタデータ管理」でテーブル名を選択して直接メンテナンスが出来ます。

マスタデータ管理

ただし、このデータはdata/cacheにテーブル名.serialというファイル名で保存され、キャッシュとして利用されていますので、メンテナンス後にこの内容を削除する必要があります。そうしないと、いくらメンテナンスしてもシステムには反映されません。削除しても新たにシステムがマスタデータを取得する際にキャッシュします。

新規にmtb_hogehogeを同じ内容で追加すると、他のマスタデータと同様に「マスタデータ管理」でメンテナンスを行うことが出来ます。顧客情報や商品情報に属性を追加したいような場合に利用できます。

顧客情報はdtb_customer、受注情報はdtb_orderとdtb_order_detailというようにわかりやすいのですが、商品情報はやや複雑になっていますので、以下に説明いたします。

次のページヘ

EC-CUBEのカスタマイズ その3(カスタマイズの仕方)

Smartyとプラグイン

EC-CUBEではSmartyというテンプレートエンジンを使用しています。data/Smarty/templates配下に以下のディレクトリが作成されています。

  1. admin
  2. default
  3. mobile
  4. sphone

管理機能はadmin配下に、フロント機能はPC用についてはdefault配下に、携帯電話用についてはmobile配下に、そしてスマホ用はsphone配下に各機能毎に階層化されてtplファイルが配置されています。tplファイルはHTMLにSmarty変数やSmarty関数を埋め込んだもので、検索画面や一覧表示画面といったユーザーインターフェース部分になります。例えばデータベースから検索条件に適合した内容を抽出するサーバー機能のphpプログラムから一覧表示画面のtplファイルに出力することで一覧表示が行われます。抽出機能と画面表示機能を分離することで開発作業の効率化を図るとともに、Smartyの機能で高速化も図られます。

管理機能の会員登録画面のテンプレートはadmin/customer/edit.tplです。その入力確認画面はadmin/customer/edit_confirm.tplです。PC用のフロント機能についてはヘッダー部分がdefault/header.tpl、商品の一覧画面はdefault/products/list.tplとなります。入力項目や表示内容を追加したり修正したりする場合は、テンプレートとして該当するファイルをカスタマイズすることになりますが、直接カスタマイズしたのでは、EC-CUBEのバージョンアップに対応できなくなるばかりでなく、修正箇所がわからなくなりシステムのメンテナンスができなくなってしまう可能性があります。そこでプラグインの機能を使用します。

EC-CUBEのプラグイン

EC-CUBEのプラグインでは次のことが出来ます。

  1. EC-CUBE本体処理へ介入して処理・結果を書き換える。
  2. EC-CUBE本体のテンプレートを変更する。

ここでは画面入出力内容のカスタマイズにプラグインの2の機能を使用します。入出力項目のカスタマイズが必要な場合には、データベースのテーブルへの列追加が必要になるケースがありますので、画面の変更と合わせてテーブルへの列追加もプラグインに組み込み、本番環境への移植も容易にすることを目的とします。

なお、下記「プラグイン仕様書」を参考にされるといいでしょう。

拡張クラスのカスタマイズ

サーバー機能のphpプログラムは、data/class配下に機能的に階層化され登録されています。

管理機能の会員登録についてはpages/admin/customer/LC_Page_Admin_Customer_Edit.phpですが、dtb_customerに関する関数がSC_Customer.phpやhelper/SC_Helper_Customer.phpに記述されています。

直接カスタマイズする場合はこの部分を修正・追加するわけですが、ここでは拡張クラスにカスタマイズ部分を記述するという方式を取ります。

EC-CUBEではdata/class_extends配下にほぼ同じ構成でファイルが登録されています。classと異なるのは、class_extends配下ではディレクトリ名には「_extends」がファイル名には「_Ex」が付けられているくらいです。また、ファイル内容はclass内の同機能のclassを継承しているという宣言があるだけで、中身は空っぽとなっています。カスタマイズしたいclassに記述されている関数を、class_extendsに移植しその内容を修正すると、実行時にはclassの中は元のままでもカスタマイズした内容でプログラムが機能します。

拡張クラスのカスタマイズが推奨されている方式ですが、バージョンアップの際対応しづらいとか、一部正しく機能しない場合があるとか、開発効率が落ちるといった問題があることを承知のうえで、ここでは「元々の機能が保証される」「カスタマイズした内容が明確になる」という理由だけで拡張クラスのカスタマイズ方式としています。直接カスタマイズすることを選択しても構いません。

次回は今回のカスタマイズ内容について解説します。

EC-CUBEのカスタマイズ その4(カスタマイズ内容)

今回のカスタマイズ内容

EC-CUBEでは商品に設定する価格は「通常価格」と「販売価格」とがありますが、「通常価格」は商品の詳細画面に表示されるだけで、どの会員にも一律同じ「販売価格」で商品を提供しています。今回のカスタマイズでは、会員情報に「会員分類」という項目を追加します。

会員分類はmtb_bunruiというマスタファイルを追加し、「1:小売会員」には通常価格で、「2:卸売会員」には販売価格で提供することにします。

今回のカスタマイズ範囲は下記のとおりとします。

[管理機能]

  1. 会員情報(dtb_customer)に会員分類(plg_bunrui)を追加する。
  2. 会員登録画面に会員分類を追加し、リストボックスで選択できるようにする。
  3. 会員マスターの検索条件に会員分類を追加し、リストボックスで選択できるようにする。
  4. 会員検索結果一覧に会員分類を追加する。

[フロント機能]

  1. 卸売会員がログインした場合は販売価格を卸売価格と表示し、商品情報の販売価格で表示する。
  2. 上記以外の場合は商品の通常価格で表示する。
  3. 商品詳細画面では通常価格、販売価格の2重表示を止め、卸売価格もしくは販売価格のみを表示する。

本来は上記以外にも変更すべき箇所はありますが、以上にとどめます。

会員分類マスタの追加

データベースはPostgreSQLを使用し、phpPgAdminで管理することを前提としていますので、phpPgAdminを起動し下記SQLを実行します。

CREATE TABLE mtb_bunrui (
id                                      SMALLINT NOT NULL  DEFAULT 0,
name                                    TEXT DEFAULT '',
rank                                    SMALLINT DEFAULT 0,
PRIMARY KEY (id));
COMMENT ON TABLE mtb_bunrui IS '会員分類マスタ';
COMMENT ON COLUMN mtb_bunrui.id IS '会員分類ID';
COMMENT ON COLUMN mtb_bunrui.name IS '会員分類名称';
COMMENT ON COLUMN mtb_bunrui.rank IS 'ランク';

phpPgAdminを使用する場合、コメントが表示されたほうがわかりやすいので追加しましたが、除外しても結構です。また、MySQLの場合はコメントを付けるSQLは異なりますので、同じく除外して下さい。

会員分類マスタ1

会員分類マスタ2会員分類マスタの登録

マスタ登録は管理画面で行います。「システム設定」-「マスターデータ管理」を選択し、リストボックスから追加した「mtb_bunrui」を選択し、[選択]ボタンをクリックして登録します。

会員分類マスタ3
画面の修正はプラグインで行い、ロジックについては拡張クラスのカスタマイズ方式とします。

次回はプラグインでの画面修正について解説します。

情報発信研修会開催しました

長岡市担い手育成総合支援協議会主催

情報発信研修会

インターネットクラウドサービスの活用

日時:2014年7月25,28,29 19:00~21:30

場所:まちなかキャンパス 501

クラウドサービスのJimdoを使用して、農業従事者の方が経営に役立てるホームページを作成し、情報発信するためのセミナーを開催致しました。クラウドサービスはますますリッチクライアントとなってきており、JimdoもあたかもクライアントアプリのようなUIです。

この時期、枝豆の収穫に追われる農家さんが、疲れを癒やす暇もなく3日間勉強をされました。新規に農業法人を創業させた方も、「なんとか自分たちの新商品を作り出していきたい。ホームページはそのために絶対に必要な手段なんです。」と言われていました。

まちなかキャンパスは長岡市の施設では大変素晴らしい施設ですが、無料で使えるWifiのFreeSpotはかなり回線は細く、電波状態も弱いため、このようなリッチクライアントを大勢で使用するには厳しい環境でした。3日目は私のスマホとWiFiルーターを動員して分散利用したため、比較的問題なく終了させることが出来ました。FreeSpotにはもう少し機能を充実させてもらいたいですね。

RFIDを使用した避難所における受付実証実験とRFIDの利用価値について

2015年9月6日(日) 長岡市青葉台3丁目自主防災会の避難訓練後に、避難所における受付をRFIDタグとリーダーを使用して効率的に行う実証実験を行いました。開発は長岡アイティ事業協同組合有限会社ワタナベプランと共同で無償開発いたしました。

青葉台3丁目町内会長とRFIDリーダー
青葉台3丁目町内会長とRFIDリーダー

机の上の縦長の白い機械がRFIDリーダーライターです。これは東北システムズ・サポート社製のUHF帯RFIDハンディリーダライタ DOTR-910Jです。今回はAndroid端末用の機械としましたので、後方においてあるAndroidスマホとBlueTooth接続して使用しています。

RFIDタグの名札
RFIDタグの名札

これがRFIDタグを貼り付けた名札です。今回は仮名の住民台帳から名刺用紙に名札印刷し、ロール状になっているRFIDを貼り付け、ラミネート加工しカードフォルダーに入れたものと、ビブスに取り付けたものを使用しました。

このRFIDはアンテナ部分も大きく読み取り精度は非常にいいようです。

リーダーの前を通過するだけで受付
リーダーの前を通過するだけで受付

中学生も参加してタグの読取り実証実験を行っています。
NHKも取材に来られ放映されました。

実証実験では100人の受付が皆さんへの説明をしながらでも5分で終了。説明ではモニターやパソコンを使用していますが、受付自体はスマホとリーダーがあれば可能です。

ライフラインの停止した夜間などでも十分に活用できることが実証されました。

この実証実験は国立研究開発法人防災科学技術研究所「イノベーションハブ構築支援事業FS採択」の実験プランで採用され現在実験プランを開発中です。*注「防災イノベーションハブ事業」はJST(国立研究開発法人 科学技術振興機構)のイノベーションハブ構築支援事業において、平成27年度FS課題として選定していた課題から、平成28年度本採択課題とされました。

ユニクロで商品にRFIDを取り付け、試着の管理やレジ精算にまで利活用することになりましたが、今回の実証実験でいろいろと応用できることがわかりました。今回使用したリーダーライターは出力が250mWの特定小電力型ですが、920MHz帯を使用したタイプで、回りこみもあるので特に室内では読み取り感度が高いです。室内試験では7mくらいまで読み取れました。実証実験は屋外でしたが、だいたい1mくらい離れたところを通過してもらうようにしていましたが、5mくらい離れたところから読み取り始めていました。

職員の入退室管理などでも利用できるでしょう。通常はNFCなどを使用していますので、両手がふさがっている場合などリーダーにタッチさせる必要もあって不便ですが、これであればそのまま通過できます。Androidタブレットなどは非常に安価に購入でいますので、在庫管理や生産管理などでもこれまでの専用端末を使用したバーコード読み取りと比べると導入コストを抑えることが出来るでしょう。

施設でのお年寄りの見守りや児童館でのお子さまの入退室管理など広く応用できると思います。

原発はどこ? スマホアプリ制作 暫定公開中

原子力災害発生時の避難計画は遅々として進んでいません。

とりあえず小さなお子様と若い人たちにはまずは30Km以上離れたところに避難してもらうのが一番です。

そこで「原発はどこ?」というスマホアプリを制作しました。

原発はどこ? Ver1.1.1
原発はどこ? Ver1.1.1

アプリを起動すると、まずは22登録してある原発施設から最寄りの原発からの方向と距離が表示され、GoogleMapに表示します。当該原発から半径5km以内は黄色い円、30km以内は赤い円が表示されます。

暫定的にAndroidアプリのパッケージを下記よりダウンロードできるようにしました。お使いになったご感想をお願いします。

なお、気象予報士の方に相談していますが、ここに風の情報なども掲載したいと発展形を考えています。

ダウンロードはこちらから

ダウンロードは コチラ から

更新履歴:2016/03/29  常時GPS監視をして現在地を追跡するように変更(バッテリーは食います)

更新履歴:2016/03/16  UI変更