AD-EDITって?


ブラウザからブログ感覚でホームページを編集できるソフトです。
これらの類のソフトを総称してCMS(コンテンツマネジメントシステム)とも呼びます。

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

 

2010年4月30日金曜日

softbank携帯のGPS機能を使ったGoogleMapの表示

携帯用GoogleMapページに現在地表示機能を追加したときの技術的メモ

1.softbank携帯のGPSの概要


・地図ページを表示する前にGPS測位を行わないといけない
・世界測地系(WGS84)を利用して測位
・取得できる経度/緯度は、dms方式(60進法:±ddd.mm.ss.sss)
【dms:lat例】
 N38.22.26.898 (北緯38度22分26.898秒)
・地図ページのURLにGET/POST方式で任意の変数を送ることができる
【dms:lon例】
 E126.35.12.268 (東経126度35分12.268秒)

2.地図ページへのリンク - GET方式


リンク先は端末内の「location:auto」としておく。
GPS即位後に「location:auto」からサーバー上の「gpsmap.cgi」へ現在地情報が送信される

<a href="location:auto?url=http://mydom.com/gpsmap.cgi">現在地表示</a>

※「location:auto」のほかに「location:gps」「location:cell」なども存在する
※GPS機能がサポートされない端末では、簡易位置情報が送信される
※gpsmap.cgiには、任意の変数を送れない

3.地図ページへのリンク - POST方式


<form>タグのPOST先は「location:auto」とする。

<form method="post" action="location:auto">
<input type="hidden" name="url" value="http://mydom.com/gpsmap.cgi">
<input type="submit" value="現在地表示">
</form>

※「location:auto(簡易位置/GPS自動判別)」のほかに「location:gps(GPSのみ)」「location:cell(簡易位置情報のみ)」なども存在するが
※GPS機能がサポートされない端末では、簡易位置情報が送信される
※gpsmap.cgiには、任意の変数を送れない

4.地図ページにおいて経度/緯度を取得


PerlCGIなどで引数を受け取るが、docomo端末やau端末とは
方式がちょっと異なる

##フォームの取得
my $query = CGI->new;
*in = $query->Vars();

↓フォームを取得した結果↓

$in{'pos'} ←緯度/経度がセットで格納される

【例】N38.22.26.898E126.35.12.268

なので、下記のように
$pos を、 $idoDMS と $keidoDMS に分解する必要がある

【分解式】
$pos=$in{'pos'}
if ($pos =~ /E/) { ($idoDMS,$keidoDMS)=split(/E/,$pos); }
if ($pos =~ /W/) { ($idoDMS,$keidoDMS)=split(/W/,$pos); }
$idoDMS =~ s/N//g; $idoDMS =~ s/S//g;

6.60進数のdms方式を10進数に変換


下記は、$idoDMS を 60進から10進に変換する例

($idoD,$idoM,$idoS1,$idoS2)=split(/\./,$idoDMS);
$idoM=$idoM/60; #度を60で割る
$idoS=$idoS1.'.'.$gidoS2;
$idoS=$idoS/3600; #秒を60*60で割る
$ido=$idoD+$idoM+$idoS;

6.GoogleMapの画像を呼出し



GoogleMapから地図画像を呼び出すには
小数点6桁の緯度/経度に1000000を乗した整数を送る必要がある
GoogleMapでは、WGS84系の測地系が使用されるので注意

【GoogleMapの呼出し例】
http://maps.google.com/mapdata?latitude_e6=26215909&longitude_e6=127667398&zm=300&w=200&h=200&cc=US&min_priority=1&Point=b&Point.latitude_e6=26215909&Point.longitude_e6=127667398&Point.iconid=16&Point=e

【上記URLに送る変数】
latitude_e6 地図の緯度(小数点6桁を整数化したもの)
longitude_e6 地図の経度(小数点6桁を整数化したもの)
Point.latitude_e6 マーカー緯度(小数点6桁を整数化したもの)
Point.longitude_e6 マーカー経度(小数点6桁を整数化したもの)
zm 縮尺
w 地図画像の幅(px)
h 地図画像の高さ(px)

【小数点6桁を整数化する変換式】
$in{'lat'}に、38.32659863261561が格納されている場合
$lat=int($in{'lat'}*1000000);
として38326598の整数値を得る


上記方法は現在利用できなくなりました(2010/10/5)

▼新しい方法はこちら▼
「GoogleMapの固定画像を切り出す新しい方法」


参考ページ


http://www.yaskey.cside.tv/mapserver/note/gps.html#GPS_SoftBank
http://symple.jp/26.html

au ezweb携帯のGPS機能を使ったGoogleMapの表示

携帯用GoogleMapページに現在地表示機能を追加したときの技術的メモ

1.au-kddi携帯のGPSの概要


・地図ページを表示する前にGPS測位を行わないといけない
・世界測地系(WGS84)/日本測地系(Tokyo)が選択可
・取得できる経度/緯度は、dms方式(60進法:±ddd.mm.ss.sss)とdegree方式(10進法/少数下5ケタ:±ddd.ddddd)が選択可
【degree:lat例】
 +38.66365 (北緯38.66365度)
【degree:lon例】
 +126.35268 (東経126.35268度)
・地図ページのURLにGET/POST方式で任意の変数を送れない

2.地図ページへのリンク - GET方式


リンク先は端末内の「device:gpsone」としておく。
GPS即位後に「device:gpsone」からサーバー上の「gpsmap.cgi」へ現在地情報が送信される

<a href="device:gpsone?url=http://mydom.com/gpsmap.cgi&ver=1&datum=0&unit=1&acry=0&number=0">現在地表示</a>

※datumは測地系(WGS84系=0/Tokyo=1)
※unitは表示方式(dms方式=0/degree方式=1)
※gpsmap.cgiには、任意の変数を送れない

3.地図ページへのリンク - POST方式


<form>タグのPOST先は、device:gpsoneとする。

<form method="post" action="device:gpsone">
<input type="hidden" name="url" value="http://mydom.com/gpsmap.cgi">
<input type="hidden" name="ver" value="1">
<input type="hidden" name="datum" value="0">
<input type="hidden" name="unit" value="1">
<input type="hidden" name="acry" value="0">
<input type="hidden" name="number" value="0">
<input type="submit" value="現在地表示">
</form>

※datumは測地系(WGS84系=0/Tokyo=1)
※unitは表示方式(dms方式=0/degree方式=1)
※gpsmap.cgiには、任意の変数を送れない

4.地図ページにおいて経度/緯度を取得



PerlCGIなどで引数を受け取る

##フォームの取得
my $query = CGI->new;
*in = $query->Vars();

↓フォームを取得した結果↓

$in{'lat'} ←degree方式で緯度が格納される(+38.66365)
$in{'lon'} ←degree方式で経度が格納される(+126.35268)

6.60進数のdms方式を10進数に変換



au-kddi端末は、GoogleMapと同じdegree表記で
緯度/経度を取得できるので変換の必要は無し。

6.GoogleMapの画像を呼出し



GoogleMapから地図画像を呼び出すには
小数点6桁の緯度/経度に1000000を乗した整数を送る必要がある
GoogleMapでは、WGS84系の測地系が使用されるので注意

【GoogleMapの呼出し例】
http://maps.google.com/mapdata?latitude_e6=26215909&longitude_e6=127667398&zm=300&w=200&h=200&cc=US&min_priority=1&Point=b&Point.latitude_e6=26215909&Point.longitude_e6=127667398&Point.iconid=16&Point=e

【上記URLに送る変数】
latitude_e6 地図の緯度(小数点6桁を整数化したもの)
longitude_e6 地図の経度(小数点6桁を整数化したもの)
Point.latitude_e6 マーカー緯度(小数点6桁を整数化したもの)
Point.longitude_e6 マーカー経度(小数点6桁を整数化したもの)
zm 縮尺
w 地図画像の幅(px)
h 地図画像の高さ(px)

【小数点6桁を整数化する変換式】
$in{'lat'}に、38.32659863261561が格納されている場合
$lat=int($in{'lat'}*1000000);
として38326598の整数値を得る


上記方法は現在利用できなくなりました(2010/10/5)

▼新しい方法はこちら▼
「GoogleMapの固定画像を切り出す新しい方法」


au kddi公式サイトの仕様


http://www.au.kddi.com/ezfactory/tec/spec/eznavi.html

docomo携帯のGPS機能を使ったGoogleMapの表示

携帯用GoogleMapページに現在地表示機能を追加したときの技術的メモ

1.docomo携帯のGPSの概要


・地図ページを表示する前にGPS測位を行わないといけない
・世界測地系(WGS84)を利用して測位
・取得できる経度/緯度はdms方式(60進法:±ddd.mm.ss.sss)
【dms:lat例】
 +38.22.26.898 (北緯38度22分26.898秒)
【dms:lon例】
 +126.35.12.268 (東経126度35分12.268秒)
・地図ページのURLにGET/POST方式で任意の変数を送ることができる

2.地図ページへのリンク - GET方式


<a>タグにlcsを付加する。

<a href="/gpsmap.cgi" lcs>現在地表示</a>

※ gpsmap.cgi?name1=value などとして変数を送ることも可

3.地図ページへのリンク - POST方式


<form>タグにlcsを付加する。

<form method="post" action="/gpsmap.cgi" lcs>
<input type="hidden" name="name1" value="value1">
<input type="hidden" name="name2" value="value2">
<input type="submit" value="現在地表示">
</form>

4.地図ページにおいて経度/緯度を取得



PerlCGIなどで引数を受け取る

##フォームの取得
my $query = CGI->new;
*in = $query->Vars();

↓フォームを取得した結果↓

$in{'lat'} ←緯度が格納される(+38.22.26.898)
$in{'lon'} ←経度が格納される(+126.35.12.268)

6.60進数のdms方式を10進数に変換



下記は、$in{'lat'}を60進→10進変換の例

($idoD,$idoM,$idoS1,$idoS2)=split(/\./,$in{'lat'});
$idoM=$idoM/60; #度を60で割る
$idoS=$idoS1.'.'.$gidoS2;
$idoS=$idoS/3600; #秒を60*60で割る
$ido=$idoD+$idoM+$idoS;

6.GoogleMapの画像を呼出し



GoogleMapから地図画像を呼び出すには
小数点6桁の緯度/経度に1000000を乗した整数を送る必要がある
GoogleMapでは、WGS84系の測地系が使用されるので注意


【GoogleMapの呼出し例】
http://maps.google.com/mapdata?latitude_e6=26215909&longitude_e6=127667398&zm=300&w=200&h=200&cc=US&min_priority=1&Point=b&Point.latitude_e6=26215909&Point.longitude_e6=127667398&Point.iconid=16&Point=e

【上記URLに送る変数】
latitude_e6 地図の緯度(小数点6桁を整数化したもの)
longitude_e6 地図の経度(小数点6桁を整数化したもの)
Point.latitude_e6 マーカー緯度(小数点6桁を整数化したもの)
Point.longitude_e6 マーカー経度(小数点6桁を整数化したもの)
zm 縮尺
w 地図画像の幅(px)
h 地図画像の高さ(px)

【小数点6桁を整数化する変換式】
$in{'lat'}に、38.32659863261561が格納されている場合
$lat=int($in{'lat'}*1000000);
として38326598の整数値を得る


上記方法は現在利用できなくなりました(2010/10/5)

▼新しい方法はこちら▼
「GoogleMapの固定画像を切り出す新しい方法」

Docomo公式サイトの仕様


http://www.nttdocomo.co.jp/service/imode/make/content/gps/

2010年4月27日火曜日

携帯サイトで現在地GPS確認が出来るように/仕様上設計ミスの修正 AD-EDITv2.9.5リリース

AD-EDITv2.9.5をリリースしました。

主な改善点は3つ

携帯サイトの地図ページで現在地をGPS確認できるように


GoogleMAPの携帯ページにて「現在地GPS確認」の機能を追加しました。
※GPS未対応端末はご利用いただけません。

管理画面の操作性の向上


テキスト入力時に「入力画面が狭く感じる場合があるので修正できないか」という要望が多かったため
テキスト入力項目(TextArea)をダブルクリックすると約5行分テキストエリアが広くなるように全面的に修正してます。

仕様上設計ミスの修正


主要エディタである「1階層ページ」「2階層ページ」にて
静的HTMLを出力する機能がありますが
「HTML出力機能」と「公開期間の設定機能」がダブってしまい。
公開期間を設定しても、HTMLが更新されないといった仕様上の設計ミスがありました。

アップデート直後は
PCサイトメニューにおいて、コンテンツフォルダのindex.htmlが削除され、
index.cgiのみとなりメニュー項目からのリンク切れが生じる可能性があります。

【リンク切れの修正方法】
(1) 1階層/2階層エディタの[設定]より公開期間の利用を設定後
(2) [PCメニュー設定]よりHTML更新ボタンを押してください
(3) このあと、同時に各メニューゾーンのラベル変更ボタンを押してメニューファイルを再出力してください。

2010年4月21日水曜日

「D2(ディーツー)」を利用してAD-EDIT等の定型メールをエクセルファイルへ変換

AD-EDITに関する問い合わせで、
「メールフォームとリンクした顧客管理用データベースを作れないですか」
という質問が多く寄せられます。

有償で作っても良いのですが、

1.セキュリティの関係上、サーバー上に個人情報を保管するのは極力さけたい
2.作ったとして40~50万円規模の開発費となる

といった理由から、「顧客管理は原則、セキュリティを施したデスクトップ環境でやるべき」という結論に達しています。

そういったお客さんには「D2(ディーツー)」というソフトをオススメしています。

【1】AD-EDITのメールフォームの設定
メーラーソフトでメール振分けできるように
subject(返信先件名,管理者件名);
の「管理者件名」部分を設定する。

【2】メーラーソフトで問合せメールの振分け処理
「OutlookExpress」などで受信トレイの中にフォルダを作成します。
次にAD-EDITのメールフォームからのメールを振分け処理を行い、このフォルダの中に届いたメールが入るようにします。

【3】「D2(ディーツー)」からメーラーソフト内のフォルダを読み込ませてCSVファイルに変換する
「D2(ディーツー)」は、メーラーソフト内の任意のフォルダへ直接アクセスし、D2の設定にもとづいてエクセルで読込み可能なCSV形式へ変換します。

【4】「D2(ディーツー)」が変換したCSVファイルをエクセルで読込む
エクセルから、「D2(ディーツー)」が変換したCSVファイルを読込むことができますので
エクセルで編集して定型整えて保存すれば顧客管理ファイルの完成です。

【5】「D2(ディーツー)」が変換したCSVファイルからリストを削除するには?
「D2(ディーツー)」が変換したCSVファイルからリストを削除したい場合は、メーラーソフトから該当メールを削除するか、メーラーソフトの別ファイルに移動してみてください。


メール自動データベース変換ソフト「D2(ディーツー)」
価格:4,000円(シェアウェア)
http://www.yamamototakashi.com/soft/d2/

2010年4月18日日曜日

選挙に向けてのサイト運用について

そろそろ、参議院選挙に向けて
AD-EDITを利用して後援会サイトや議員公式サイトの立ち上げが多く見受けられます。

弊社は選挙速報などにも携わってきた経緯があり、
これまで、立候補者のサイトの立ち上げににもいくつか携わってきました。

そういった弊社からちょこっとアドバイス。

選挙期間中はサイト更新はやらないのが原則


公示から当選人が決定する選挙当日までの間(この期間を選挙期間と呼びます)は、
ブログやサイト更新は絶対に行わないでください。

サイトを更新することで、公職選挙法違反で立件される危険性が高くなります。

「公職選挙法」においては、選挙活動において厳密に使ってよい道具が
「ポスター」、「ビラ」、「宣伝カー」、「宣伝船」、「放送」くらいしか認められておらず、
「ホームページ」や「eメール」という媒体が定義されていないためです。

先日のNNNのニュースで選挙期間中のブログ更新については法的に認めようとする動きがでていますが、
今日の段階で、そういう法案は可決されていません。

この法律では、「配ってよいビラの枚数」や「貼ってよいポスターの枚数」「拡声器の数」など、事細かに決められています。あと、「徒党を組んではいけない」とか「有権者宅に訪問してはいけない」とかいった禁止事項もたくさんあります。

「選挙活動」なのか「政治活動」なのかブログの内容を明確に切り分ける


多くの議員ブログを見る限り、ブログの内容について
「選挙活動」と「政治活動」がごっちゃになっているケースが多く見受けられます。
選挙期間中における、「ウェブを利用した政治活動」は法的には認められていますが「ウェブを利用した選挙活動」は違法となります。

たとえば、「ドコソコに視察に行った」「マニフェストの勉強会開催」とか「商工会議所の会頭と対談した」とかいった選挙とは関係ない内容をブログに記述するのが「純粋な政治活動」です。

逆に、「出馬における所信表明」や「現職議員が応援に駆けつけた」、「同党議員の応援に行った」といった内容は明らかに「選挙活動」の例となります。

選挙期間中は応援したい候補者にも配慮を


たとえば、自分が出馬しなくて知人を応援する場合でも、場合によっては公職選挙法に引っかかるケースがあります。後援会ももちろん、応援したい気持ちはわかりますが、極度な応援は命取りになります。

さいごに


選挙にかかわる方は、一度「公職選挙法」を熟読してみてください。

http://law.e-gov.go.jp/htmldata/S25/S25HO100.html
の130条あたりから

2010年4月15日木曜日

携帯から編集可能になった AD-EDITv2.9.4リリース

おまたせしました!!
携帯から編集できる機能を実装したAD-EDITv2.9.4をリリースしました

これまで多くの要望があった「1階層エディタ」、「2階層エディタ」について
携帯専用の編集画面を実装しています。

外出先や旅行先からのブログ更新などでご利用ください。

残念ながらAU端末は、画像等のファイルの添付ができないためテキストのみの入力画面になります。

ですので、AUのユーザは「PCサイトビューア」から管理画面にアクセスしてください。

DocomoのF906iからの端末だと、ファイル添付は画像(*.jpg形式)と動画(*.3gp)をアップできます。
SoftBankの840Pからは画像(*.jpg/*.gif)のみが添付できました。

※絵文字変換は、開発費が結構かかってしまったため、
18,900円(1ユーザ/サイト数無制限)でのプラグイン販売を予定しております。
もうしばらくお待ちください。

2010年4月7日水曜日

css nite in okinawa vol.4 が開催 今年のテーマは「PhotoShop」

前々から気になっていた、css nite沖縄地方版が今年も開催されることになりました。

今年のテーマは、「PhotoShop Town Meeting」
2010年7月3日(土)に、浦添市てだこホールにて開催されます。

【css nite in okinawa vol.4】
http://cssnite.dragon-ball.in/vol04/

僕が見る限りで内容は「プロカメラマンから見たPhotoShop&プロなりの使い方テクニック」PhotoShopの使い方にとどまらず、プロなりの写真の撮り方などもレクチャーしてくれるようです。

講師陣は、月刊カメラマンなどで活躍するプロカメラマンの魚住誠一氏を始め、「Photoshop 10年使える逆引き手帖」の著者 藤本圭氏、「Dreamweaverプロフェッショナル・スタイル」の著者 鷹野雅弘氏、沖縄をメインに活躍するプロカメラマンの中川宗典氏などによる講演となっているようです。

楽しみですね。

css nite沖縄地方版は、今年で4回目。
「経費で落とせるリゾート」という、ちょっと違った考え方もあります。

県外から「沖縄いってみようかな」って思っている方は、
是非、AD-EDIT開発元の弊社にもついでにお立ち寄りください。

2010年4月5日月曜日

RSSインポートCGI

前回から、「ハイ、いまさらRSS♪」っていう内容でRSSに取り組んでてフィードインポーターについて触れてたと思います。

ということで、「RSSインポートCGI」とやらを作成してみました。
http://adedit.norenz.net/customerdownload/index.cgi?mode=detail&code=0015

RSSのURLからフィードページをインポートし、サイト内にSSIで表示するという単純なCGI。

とりわけ、AD-EDIT専用ってことでもないので、他のサイトでも利用可能ではあります。
どうぞご利用ください。

2010年4月3日土曜日

AUのザンネンすぎる管理画面

現在、1階層ページの携帯用管理画面を作成中ですが、AUの管理画面がザンネンな結果に終わった。

【デモサイトでの携帯管理画面】
http://adedit2.norenz.net/pgedit/admobi.cgi
ID:user PASS:0000

通常、HTMLでファイル添付を行うときには、<form>の部分を
<form method="post" action="xxx.cgi" enctype="multipart/form-data">
として宣言しておき
<input type="file" name="upfile">
と書いておくとファイル添付ができるんだけど
AUだけが、「enctype="multipart/form-data"」に対応してないことが発覚。

うーん。実に残念。。

Docomoは、906i、706iシリーズあたりから対応している模様。

SoftBankは基本がPCサイトと同じなので無問題。

AUの方でファイル添付したければ「PCサイトビューア」で対応よろしくです。

Docomo、AU、SoftBankの固体識別番号を使ったセッション管理

現在、AD-EDITの、1階層/2階層エディタに携帯から入力できる管理画面の構築作業をおこなっています。

ちょっと特殊だった「携帯のセッション管理」についてちょっとだけメモ

【Docomo】 i-mode


端末識別番号として、「固体識別番号」と「iモードID」の2種類がある。
「固体識別番号」だと「識別番号を送信しますか?」って毎回聞いてくるので、最近から使えるようになった「iモードID」を利用したほうがよい。
各ページへのリンクなどに、「?guid=ON」の引数を付加して取得する。

http://www.nttdocomo.co.jp/service/imode/make/content/ip/#imodeid

【フォーム埋め込み】
GET方式については、<agt;タグなどに下記のように書き込む。
<a href="xxx.cgi?&guid=ON">
POST方式については<formgt;タグに下記のように埋め込む。
<form method="post" action="admobi.cgi?guid=ON">

<input type="hidden" name="guid" value="ON"> だと動かない。

※ユーザーにはiモード設定でiモードIDを有効にしてもらう必要がある。
http://www.nttdocomo.co.jp/info/notice/page/080228_00.html

【識別番号の取得方法】
環境変数[HTTP_X_DCMGUID]で受け取る。
$MobileID=$ENV{'HTTP_X_DCMGUID'};

【AU】 EZウェブ


AUは、もともとiモードIDのような機能が備わっている。
AUからは、「EZ番号」と呼ばれる固体識別番号が常に送られている。

http://www.au.kddi.com/ezfactory/tec/spec/4_4.html

【フォーム埋め込み】
登録時に特に変更を加える必要なし。

【識別番号の取得方法】
環境変数[HTTP_X_UP_SUBNO]で受け取る。
$MobileID=$ENV{'HTTP_X_UP_SUBNO'};

【SoftBank】 Yahoo!携帯


SoftBank端末は標準でクッキーが利用できる。
PCサイトのクッキーによるセッション管理がそのまま使える。

また、環境変数[HTTP_USER_AGENT]にも、固体識別番号が含まれるため、これを利用する方法もある。