Life is Adventure!

Music❖  OpenPNEPhoto

2008年頃、OpenPNE2.12.xでかなりのカストマイズを行った。その後、2009年2.14.3アップグレード以後はほとんど変えていない。OpenPNE2.xサポートが打ち切られ、3.x中心になった。この3.xの開発フレームワークが難解で、Unixプラットフォームを持たずにWindowsだけで作業している我輩には荷が重い。というわけで、ΣSNSのプラットフォームはOpenPNE2.14.3で打ち止めとした。それ以後、運用はしているが運営はしていない状態が8年も続いた。

SNSを構築して、今年で11周年になる。早いものである。「7年目の浮気」にかけて、7周年のときに閉鎖しようと思ったことがある。Facebookがやっと日本でも認知され利用者が増え、プライベートコミュニティ開設、参加、運営が容易になった。そこで、ΣSNSコミュニティを解説した。ΣSNSを閉鎖して、FacebookのΣSNSコミュニティに移行すればよいと考えたからである。

しかし、ΣSNSのほうが仲間内で安心して楽に使えるという声があり存続要望があったため、そのまま継続することにした。その代わり「現状維持」が条件だった。つまり、私自身は運営にかかわらないということだった。一メンバーとしてそのままのΣSNSを使うということだ。

SNS元年

私にとってのSNS元年は、2006年といっていいだろう。ちょうどTwitter, Facebookが躍進の兆しを見せた年であった。それまでSNSの雄、最大のSNSは、MySpace だった。Britney SpearsやParis Hiltonといった著名人がMySpaceで多くのファンを持っていた時代であった。

消費者、個人が中心で発展してきたSNSだが、まもなく日本でも企業SNSがはじまるという兆しがあり、それに気づかない無頓着な経営幹部が多いことに愕然としたものだ。ブログさえ知らない経営コンサルタントがほとんどだった時代でもある。

パワーポイント資料を作って啓蒙を兼ねた講演を何度かやったが、スライドを見せて説明しても、怪訝な顔をする人がほとんどだった。自分で使うことをしないから理解力がついていかないのである。

それでは…と思って、Twitter-likeなものを作って運用した。半年後の2006年10月にはオープンソースのOpenPNEを使って、ΣSNSと名づけたプライベートSNSを構築した。ソースがすべてphpで書かれていたので、素人の私でもなんとかカストマイズできた。もちろんOpenPNE開発者や運営者(たとえばソニー配下のSo-Netの人)が集まるコミュニティで教えを請うこともした。一年ほど経ったときに、突然動かなくなり、その原因究明に一ヶ月近くかかったことが一番のトラブルだった。原因は米国のサーバでMySQLをバージョンアップしたことだった。OpenPNEのPHPコードが対応できていなかったのである。

ΣSNSを実験的に動かし、受講者たちに参加を呼びかけた。参加メンバーが学習できるようにいろんな資料を作成しWebにアップした。http://agorian.com/home/ がその残骸である。ほとんどの記事の最終更新日が、2008年5月頃になっている。つまり私自身は学習を終えていたということだ。そして、2009年にはOpenPNEバージョンアップを凍結した。つまりSNS利用面でも開発面でも、私の興味は少なくなったということ。必然的にΣSNS運営から遠ざかっていったということだ。

OpenPNE2.14.3

ΣSNSを見直し始めた。システムのバージョンアップはせず、V2.14.3で凍結のままでよいが、利用面から、もうちょうと使いやすいように変えれるかな?というくらいの見直しである。同時にもっと活用して見ようかな?そのために、私好みにするにはどうすればいいかな?…

たとえば、写真アルバムの写真一覧の縮小画像の幅が180pxで二列のため、ページ横幅の半分が空白になっている…といった些細なスタイルだ。これを二列の幅いっぱいに縮小画像を表示するようにした。また、日記やコメントの一覧で、文字を大きくした結果、改行が増えて見苦しくなったの修正した。多少は見てくれが良くなった。

① /2143/webapp_ext/modules/pc/templates/fh_album.tpl
 39行目 w=180 h=180 を削除
② //sns/xhtml_style.php 変更
 .albumImageList .image img { max-width:90%;height:auto; }
 .commentList dd ul.photo {... ;float:left;}
 .homeNineTable div.moreInfo ul.moreInfo { width: 14em;... }
 .homeMainTable th { width: 106px;... }
 #pc_page_fh_diary_list .commentList dd div.title p.heading {
float: left; width: 80%; font: bold 18px black;}
③ agorian.com.js変更
 //user/html/ に保存したHTMLファイルをiframe埋め込み表示したときのデフォールト幅を 625px から 864px に変更した。

ドメインsigmasns.com

ΣSNSを構築するときに新しいドメイン名を取得した。それが agorian.com である。ギリシャ語のAgora~古代ギリシャで「市民が集まる広場」という意味がある。その広場(SNS)に集まった人のことを Agorian と呼ぼう~ということで名づけた。しかし、日本語でアゴリアンという響きがあまりよくないという声もあった。

それでSNSの名前として sigmasns を採用した、やはりギリシャ文字Σ(数学記号)をつかった。総和とか合計といった意味合いを持つ。では、ドメイン名も sigmasns にすれば分かりやすいではないか、と突っ込まれそうだ。そのとおりである。最後尾のnを忘れて、agoria.com にすると、大前健一さん主宰の経営幹部養成学校のドメインになる。いまはなぜか forbidden になる。

じつは、sigmasns.com も取得した。使っていないだけである。agorian.com で周知したので後で変更するのが面倒だっただけである。

sigmasns.com をクリックすると、従来からのsns.agorian.com と同じログイン画面が開く。ログイン後は、sns.agorian.comがデフォールトになったままである。

日本でもopenID対応のサイトが増えてきた。複数のサービスを利用する人は、OpenIDを取得しておくと便利である。openid.ne.jpで登録することができる。

LiveJournalやTwitterを利用している人は、そのアカウントでOpenID対応サイトにログインできる。

OpenPNEにはVer2.12からOpenIDを発行する機能が搭載されている。
使い方は、こちらに書かれている。

サーバ側の設定は、config.phpで
define(’OPENPNE_IS_OPENID_SERVER’, true);
とするだけでよい。

SNSの自分のIDを n とすると、openIDは下記のとおり。
http://sns.agorian.com/openid/n

★OpenID対応サービス

SNSの日記や掲示板で書くとき、文字修飾や画像挿入などをHTMLの代わりにBBCodeを使って記述できる便利なモジュールで重宝している。多くのオープンソース開発ソフトで採用されているものと類似しているので使いやすい。どういうわけか本家のOpenPNEではサポートしていない。やっとV2.12で「文字修飾機能」という名前で機能追加されたが、どう考えてもNIH症候群の機能になっているようだ。どうして、しまさんが開発し多くの人が使っているOpenPNE拡張モジュールのBBCodeを採用しないのか理解に苦しむ。このことは過去にOpenPNE開発コミュニティでも指摘しておいたが無反応だった。

続きを読む "BBCode入力支援モジュール" »

0.SNSデータベース複写
(1)cPanelから新しいデータベースDBNAMEを作成して、ユーザ名USERNAMEを割り当てる。
(2)phpMyAdminを使って、既存データベースを複写する。
 (複写する前にメンテモードに設定する)

続きを読む "OpenPNE2.12.2カストマイズ" »

携帯からSNSにアクセスし、日記を書いたり掲示板に書き込みをしたりするのは大変便利である。パソコンが使えないときも簡単に連絡が取れるのもいい。掲示板への書き込みがあったり、自分宛にメッセージがあると携帯に連絡メールがくるからである。

携帯の電話帳(メールアドレス帳)は使わないようにしている。とくに個人のメールアドレスは数人しか保存していない。仕事関係、顧客の情報ももたない。なぜなら携帯をなくしたときに迷惑をかけるからだ。パスワード保護をしているが、それは気休めに過ぎない。プロの手にかかれば破られる。

散歩の途中や旅にでたときに目についた風景を写真にとって、携帯から投稿できる。これは通常の書き込みではだめで、メール投稿で写真を添付するやり方しかない。

ところが、サーバのキャッチオール機能が有効でないと、このメール投稿ができない。


SNSトピックを作成すると一意のID番号が割り当てられる。たとえば、Helpコミュニティのトピック「携帯アクセス」のIDは145で、URLは http://sns.agorian.com/?m=pc&a=page_c_topic_detail&target_c_commu_topic_id=145 となっている。この掲示板にメール投稿すると、宛先はセキュリティ対策としてハッシュ化され、t145-yyy@mailserver.com になる。

From偽装対策をメールサーバ側で行っている場合には、t145@mailserver.com での運用も問題がないという。この場合、t145@mailserver.com に来たメール(掲示板書き込み)を、mail.php プログラムに渡すように設定すると、mail.php が掲示板書き込みの処理をしてくれる。

このメール投稿を可能にするためには、掲示板のトピックに対応するメールアドレスを作成し、これをmail.phpに渡す設定をしなければいけない。これは運用上無理な話である。そこで、存在しないメールアドレスに来たメールはすべてmail.php に渡すようにして、メール処理をmail.php に任せるという方式がある。これがキャッチオール機能であるが、迷惑メールもすべて渡されるためサーバの負荷増大の要因にもなる。したがって、これを嫌うレンタルサーバではキャッチオール機能を無効にしている。

agorian.comのサーバも、当初はキャッチオール機能が有効であったが、迷惑メール対策の一環で無効になった。それ以来、日記と特定の掲示板だけしかメール投稿できなくなった。


多くのSNSオーナーがこの問題に悩んでおり、質問も絶えることがない。OpenPNE開発コミュニティに照会しても的確な返事がない。方式設計ができないということだろうか?

一ヶ月前に、オーナーズクラブで同じ悩みを持っている人が質問していた。その回答のなかで、Gmailの裏技を利用すると携帯メール投稿ができるとの書き込みがあった。早速試してみたが、設定をミスったのか原因不明だが、失敗に終わった。

それで気が付いたのだが、GoogleAppsではGoogleのメールサーバを使っている。メールの設定機能を見ると、「登録されていないメールアドレスに来たメールの転送先を設定する」機能があった。キャッチオール機能と同じだ。

早速試したら、掲示板へも写真メール投稿できた。その後、携帯投稿で時刻がアメリカ時間になるのを補正しようとそれらしいプログラムを探して変更、テストしていたら、今度はメール投稿ができなくなった。

どうしてそうなったのか分からないので、configや時刻補正をしたソースをすべて元に戻した。キャッチオールも使わないように元に戻した。しかし、日記のメール投稿もできなくなった! どこかでまたミスをしたのかもしれないが、何度調べてもダメ。半日費やしてしまった。毎朝6時起床で夜まで拘束される生活がはじまったので、この問題はお預けにした。SNSユーザにはその旨通知して問題解決まで猶予をもらっている。

PNE開発コミュニティの日記を眺めていたら、ホームページにMyNews!というのがあった。2.12進機能かも知れないが、そんな説明はいままで見たことがない。ほかの人の日記に、MyNewsカストマイズの話があった。

具体的なソースコードと手順が書いてあったので試したらすぐ動いた。2.10では、Smartyを使ったテンプレート挿入機能だけを使って試したらOKだった。ひとこと伝言板として使える。

続きを読む "MyNews 今日の一言" »

GoogleNews(以外でも良い)のRSSを読み込んで最新ニュースを表示し、目に付いた最新ニュースについて日記を書く拡張機能がしまさんから提供されている。とりあえずこれを設置してみた。ナタリーさんがトラブルにあってしまさんに聞いた足跡をたどって修正をしたら動作した。

同じ問題にぶつかる人があるだろうし、我輩もどこをどう修正したかをすぐ忘れるのでメモしておく。
http://shima3.seesaa.net/article/100017121.html を参照のこと。

1.SourceForgeからnews034.zipをダウンロード

2.news034.zipを回答したフォルダにあるreadme.txtの説明にしたがってインストール

3.以下の間違いがあるのを訂正
(1) init.inc が天気モジュールのものになっているので、これをサイドバナーモジュールのinit.incに入れ替える。
(2) h_home_right_news.phpの内容を修正
 pc_page_h_home_right_news ⇒news_page_h_home_right_news

これに類似した機能はブログでは5年以上前からあるのだが、OpenPNEにいまだにないのはどうしてだろうか?おなじ拡張機能で「今日のお題」というスクリプトも標準では実装されていない。

小窓も作るのはいいが、もっと実装や使い方についての情報を公開して欲しいものだ。社長が管理人のコミュニティでも「作る」ことばかりが議論されている。お客様の視点を忘れているのではないかと心配になる。困ったものだ。

2.12が先月末にリリースされたので、テスト用にsns.elmblog.comに設置した。文字化けが発生したが、基本機能は動作するようだ。2.10で使っている拡張機能のカストマイズが大変なので作業を中断している。

2.12でWysiwygエディタが追加されたが、Web上の画像を表示できない、リンクができないという問題がある。困るのはBBCode互換がないので、過去のコンテンツが表示されないことだ。2.12新機能を殺してBBCodeを追加するしかない。2.12対応の拡張モジュールがリリースされたので、これを参考にカストマイズしよう。 それにしても、オープンの世界では実績のあるBBCodeを、どうして採用しないのか?OpenPneはクローズドな手嶋屋ソフトになっている。こうしたやり方をしていると優秀な人がプラグインを開発する気がなくなり去っていくことになる。 新規の文字修飾エディタは機能不足で使えない。アップグレードごとに余計な手間がかからないようにして欲しいものだ。

続きを読む "OpenPNE2.12対応拡張モジュール" »

1.サーバのルートディレクトリに保存
(1)OPENPNE_DIR/webapp/lib/smarty_pligins
  BBCodeをHTMLタグに変換するプラグイン

(2)OPENPNE_DIR/webapp_ext/modules/pc/templates
  BBCode入力と日記でコメントするときのテンプレート

(3)OPENPNE_DIR/public_html/css
  BBCode用のボタンやタグのスタイル

(4)OPENPNE_DIR/public_html/skin/bbcode
  各種ボタン画像

(5)OPENPNE_DIR/public_html/js
  BBCode操作のための外部Javascript    
※カラーピッカー用のprototype.js と javascriptsディレクトリはオプション。prototype.jsは置き換えることになるのでバックアップを取っておく。予期しない不具合発生のときは無効にする。

続きを読む "BBCode設置手順" »