・・・というか、拡張モジュールとして移植してみただけですが。(;´∀`)
というわけで、OpenPNE拡張ソーシャルマップモジュール Ver.0.1.2をリリースします。
↓ダウンロードはこれ
http://shima3.up.seesaa.net/zip/socialmap4pne012.zip
これは何?
MyNETS-1.1.1Nighty-20070831に搭載されている「ソーシャルマップ」機能を、OpenPNEに拡張モジュールとして組み込むためのものです。
ソーシャルマップについては、以下のデモをご覧下さい。
Usagi Project(ソーシャルマップのデモ)
http://usagi.mynets.jp/document/20070807.html
開発経緯とか色々
MyNETSへの乗り換えの踏ん切りが付かないけど、ソーシャルマップは使いたい!ということで移植しました(笑)
かなり強引に移植したこともあり、また、テストも不十分なので、まともに使えるかどうかはわかりません(爆)
ただし、拡張モジュールとして設置するため、基本的には、OpenPNE本体をあまり汚さずに済むので、試していただけるくらいの価値はあるかな?と思っています。(^◇^;)
また、MyNETSの方では、日記やトピック、コメントの入力で、Googleマップを小窓として利用する際の入力支援機能(CMDタグを自動入力)が組み込まれていますが、OpenPNE側では、実質、URL貼り付けによってしか利用することができません。
まあ、gmaps for OpenPNEを導入するという手もありますけどね。
http://www.garden4s.com/shopnews.html#700
しかし、MyNETSのソーシャルマップでは、Googleマップ用のCMDタグ(gmaps)のみをターゲットにして見つけており、URL貼り付けはあえて無視して、ソーシャルマップを実現しています。
実際、入力支援機能があるため、URL貼り付けの割合は少ないはずで、両方に対応すると負荷も高くなることを考えれば、CMDタグのみに絞るのは選択肢として十分ありです。
ですが、逆にそれが、そのままではOpenPNEに持ってこれない足かせになってしまいます。
そんなわけで、それを解消するために、ソーシャルマップを一部改造し、GoogleマップのURLでも引っかかるようにしました・・・かなり強引ですけどw
これにより、gmaps for OpenPNEを使わなくても、OpenPNEでソーシャルマップを利用できるようになりました。v(^_^)v
そんな感じのOpenPNE拡張ソーシャルマップですが、ご利用いただければ幸いです。
というか、ソーシャルマップに感動したら、MyNETSに乗り換えもありデスw
なお、このモジュールは、CMDタグとURLの両方を見つけるようになっていますので、CMDタグのみ見つければよいMyNETSのソーシャルマップに比べて負荷が高くなります。
状況によっては、負荷が高すぎて大変なことになる可能性もなきにしもあらずですので、その点、ご承知置き下さい。
本当に導入して大丈夫?
拡張モジュールとして設置するようにしており、OpenPNE本体側の改造は行っていないため、運営されているSNS自体に影響を及ぼすことはないと思います。
その点、私がリリースしているものは、「なるべく改造箇所を少なくする」ことを前提にしているので、大丈夫・・・のはずです。(^_^;
途中で使わないことにしても、設置したファイルを削除するだけで除去できるのは確かですから。
その他、諸注意など
この移植は、非常に個人的かつ実験的な試みであり、また、私が本来の作者というわけではないので、移植したことによる不具合が多々あると思います。
MyNETSのソーシャルマップ機能にも不具合等ある場合もあると思いますが、移植したことにより発生する不具合の方があるかに多いと思いますので、何か不具合が起きても、Usagi Projectの中の人たちに助けを求めるようなことはしないでください。m(__)m
まともに動かない可能性が多分にあることを、ご承知置きの上、ご利用いただきますよう、お願いします。
何かあれば、コメントなり、私の方までご報告いただければと思います。m(__)m
まあ、最悪、「MyNETSに乗り換えれば良いじゃん (´σ `) ホジホジ」で逃げる可能性もありますが、あしからずww





このモジュールはgmaps for OpenPNEのように携帯でも、「GoogleMapsのフォーマットでのマップ閲覧を可能にする機能」は可能なのでしょうか?
現在はOpen PNEとMyNETS-1.1.1Nightyを試験的に導入して試しています。
宜しくお願い致します。
移植ありがとうございました!
ソーシャルマップにおけるマップ書式の問題は確かにネックで、現在MyNETSではマップ表示させるための書式として、cmdタグ・googlemapsURI・携帯各キャリアの独自マップ(eznaviなど)があります。しかし、そのすべてに対応というのは、今の現状の仕組み(PNEもMyNETSもですが…)ではDB操作的に少し無理があるような感じがします。ですのでとりあえず現状はcmdタグのみに絞らせてもらってます。ちなみにMyNETS1.1.1では、gmaps for OpenPNEをブラッシュアップして3キャリアのGPS携帯に対応した位置情報投稿機能を入れる予定です。
将来的には、投稿時にマップ情報を抽出して別テーブルに保存という方向でしょうか。
>このモジュールはgmaps for OpenPNEのように携帯でも、「GoogleMapsのフォーマットでのマップ閲覧を可能にする機能」は可能なのでしょうか?
機能的には、MyNETS-1.1.1Nightyのソーシャルマップと同等程度です。(若干劣ると思いますが・・・)
MyNETS-1.1.1Nightyのソーシャルマップでできることできるし、できないことはできません。
と解答させていただきます。(^_^;
>xyllisさん
中の人
キタ━━━━(゜∀゜)━━━━ッ!!
>しかし、そのすべてに対応というのは、今の現状の仕組み(PNEもMyNETSもですが…)ではDB操作的に少し無理があるような感じがします。
まったくその通りですね。
私も「負荷高くなるよな〜、でもソーシャルマップの負荷だけならたかが知れてる(うちでは)」とのいい加減な理由の元、移植してみた限りです(笑)
たぶん、Googleマップが多用されてるSNSでは、逆に採用しない方が良いような気がします(爆)
>ちなみにMyNETS1.1.1では、gmaps for OpenPNEをブラッシュアップして3キャリアのGPS携帯に対応した位置情報投稿機能を入れる予定です。
楽しみです♪
が、うちでは、(ある理由により)携帯からの利用ってできないようにしているので、その恩恵は受けられないんですよね・・・(;´∀`)
>将来的には、投稿時にマップ情報を抽出して別テーブルに保存という方向でしょうか。
日記やコメントなどから無意味な検索を行わなくてすませるという意味でも、その方が良いでしょうね。
できれば、「そのマップが何を示しているか」(単なる位置情報だけではなく、和食屋だとかコンビニだとか、そういう種類)も一緒に格納できると、ソーシャルマップの利用の幅も広がると思います。
地域だけではなくて、目的によってマップを絞れますしね。
私的には、利用されてる小窓を絞って一覧を出す・・・なんてのもやってみたいんですけど、やっぱり負荷が高いので、そういうのも別テーブルに出せると面白いと思ってます。
画像は画像で、使用してる大本(日記かコメントかなど)が不明で、辿れないという問題もあるし、システム側の負荷を小さくするという面だけでなく、メンテナンスのしやすさや、新たな機能への拡張性を考えただけでも、別テーブルに分けた方が良いと思います。
小生素人レベルなので、幾つか質問させて頂いても宜しいでしょうか?
以下のところから、gmaps for OpenPNEをダウンロードしました。
>まあ、gmaps for OpenPNEを導入するとい>う手もありますけどね。
http://www.garden4s.com/shopnews.html#700
このファイルの中に設定のやり方が記載されていました。
その設定書の中で【1.PC用マップ機能を追加する】という項目を試してみたのですが上手く動きません。ちなみにバージョンは2.6.8です。
この設定書の文面の中で、
fh_diary.tpl
などのbody要素(本文や詳細が表示される部分)に
t_geocode
を追記
と、あるのですが、ここでいうBody要素がどの部分を指しているのか分かりません。
また、そのファイルを開きますとすべての記号が()や[]などで覆われています。t_geocodeこれにそのようなカッコは必要ないのでしょうか?
※fh_diary.tplこのファイルの、どの部分に、どの様な形で埋め込めば良いのかが分かりません。
上記以外の設定は全て完了したのですが、この部分だけはどうしても文章から読みとれず分かりませんでした。
ご教授いただけるようであれば、具体的に知りたいと思いましてメール致しました。
お手数お掛けいたしますが宜しくお願い致します。
>と、あるのですが、ここでいうBody要素がどの部分を指しているのか分かりません。
作者(xyllisサソ)に聞いてください。(;´∀`)
・・・というのは不親切なので・・・
gmapsの設置に行き詰っているなら、OpenPNEではなくて、MyNETSを利用しましょう!
カスタマイズしなくても利用できますから!
http://usagi.mynets.jp/
・・・というのも不親切なのでヒント。
拙作、BBCode入力支援モジュールをダウンロードして、fh_diary.tpl を「bbcode2html」で検索すれば、場所がわかります。
その他、トピックとかイベントとか、gmapsを利用したい箇所に対して、同じように記述してやればOKのはずです。
あるいは、(gmapsはすでに導入されているので)MyNETSのソースコードをt_geocodeで探せばわかると思います。
それ以上はググりましょう。
OpenPNEとかSmartyとか、色々キーワードを駆使して検索すれば見つかるはずなので。
もうひとつの導入方法としては、拙作、BBCode入力支援モジュールを利用する・・・なんてのもありますね(笑)
(1) gmapsをテンプレートの修正については飛ばして設置します。
(2) inc_bbcode.tpl の最後に以下を追加します。
<script type="text/javascript" src="gmaps/mapeditor.js"></script>
(3) modifier.bbcode2html.php の以下の箇所
if (!isKtaiUserAgent()) {
//PCの場合
require_once $cdir . '/modifier.bbcode2html4pc.php';
$message = smarty_modifier_bbcode2html4pc($message,$allowUrl,$allowImg,$imgWidth);
}else{
//携帯の場合
require_once $cdir . '/modifier.bbcode2html4ktai.php';
$message = smarty_modifier_bbcode2html4ktai($message,$allowUrl,$allowImg,$imgWidth);
}
を以下のように変更します。
if (!isKtaiUserAgent()) {
//PCの場合
require_once $cdir . '/modifier.bbcode2html4pc.php';
$message = smarty_modifier_bbcode2html4pc($message,$allowUrl,$allowImg,$imgWidth);
require_once $cdir . '/modifier.t_geocode.php';
$message = smarty_modifier_t_geocode($message);
}else{
//携帯の場合
require_once $cdir . '/modifier.bbcode2html4ktai.php';
$message = smarty_modifier_bbcode2html4ktai($message,$allowUrl,$allowImg,$imgWidth);
require_once $cdir . '/modifier.t_cmdkmaps.php';
$message = smarty_modifier_t_cmdkmaps($message);
require_once $cdir . '/modifier.t_geocodekmaps.php';
$message = smarty_modifier_t_geocodekmaps($message);
}
これだけでいけるはずです。
#これなら楽かな?
昨日はじめてこのモジュールの存在を知り試行錯誤してようやく導入できました。動作もほとんど問題ない・・・ってあれ?検索が聞かない?これってUsagiさんのSNSでも無効でした。
後、全文を見るをクリックしても拡大されるだけで中身が消えてしまっています。(←JOMRの設置ミス?)
何度かこのブログも拝見させていただいてもらい設定も見直してみたのですが原因がわからないままでとりあえずペンディングになってます。
これといってエラー内容もなかったのでさっぱりです(>_<)
自分で修正できるスキルがあればいいのですがプログラムは皆無です。(正直どこから手を出していいのか解りません)
何かアドバイスもらえませんか?
長々とここまで書いて申し訳ないです(^_^;)
ここを見ていると言うことは、古いモジュール使ってませんか?
今のバージョンは、Ver.0.1.6です。
http://shima3.seesaa.net/article/66613233.html
それでも動かないとなると、うーん。
(1) ブラウザの問題
(2) Google Maps APIの仕様の問題
(3) ソーシャルマップの問題
いずれかでしょうね。
私のところでは、IE6、IE7、Firefox2.0.0.9、Opera 9.24で動作確認を行っていますが、いずれも正常に動いています。
以前のソーシャルマップだと、Google Maps側のAPIのバージョンのせいで動かないというのはありましが、今は(MyNETS-1.1.1Nighty-20071109)基本的に、不具合が出なさそうなバージョンに固定してあります。
ただし、ソーシャルマップに絶対に問題がないかというとそうでもなく、
・問題ない文字に変換すべきところをしていない
・予期せぬ問題でJavascriptがおかしなことになってる(以前、うちで改行コードが入ってしまうと言う問題がありました)
などあるので・・・
検索ができない件は、もしかすると、mapset4pne.jsの
function search(keyword) {
url = './?m=gmaps&a=page_h_gmaps_list_data&keyword=' + encodeURI(keyword);
のところで
encodeURI → encodeURIComponent
と変更するとできるようになるかもしれません。
#だとすると、ブラウザの問題のような気もするんで微妙
拡大されると何も表示されないのは、何とも言えないです・・・
その段階で、page_h_gmaps_diaryまたはpage_h_gmaps_diary_comment、もしくはpage_h_gmaps_topicへのリクエストがサーバ側に飛ぶので、どの段階でダメなのか切り分けないといけないです。
Apacheのログとか見て、
(1)そもそもサーバ側にリクエストが飛んできてない
(2)サーバ側にはリクエストは飛んできてる
→PHPのエラーが出てないか確認
そんな感じかな?
(1)だったら、ブラウザの問題か、ソーシャルマップ側のJavascriptの問題。
(2)だったら、該当するアクションのPHPかテンプレートに問題がある可能性があります。
IEだけで試すのではなくて、Firefox(とFirebugアドオン)とかOperaとかも使って、ブラウザの問題か、あるいはどこで問題か発生してるのかを突き止めないと難しいです。
FirefoxのFirebugアドオンを使うと、Javascriptのデバッグもできるので、どこでつまづいてるのか特定することもできるんですが・・・
私の方では、そちらの問題の発生状況をつかめないので、その問題の発生している環境にアクセスさせてもらうとかしないと、完全には追い込めませんので。