何となく歩いた結果

デジカメを持って色々な場所に出没し撮影した写真を公開。最近は東京の夜と里山をメインテーマに撮影中。システム開発の話題も。

XOOPSサイト構築...ならず

2006-07-30 14:01:53 | ソフトにまつわる話
XOOPSの設定を色々やってみて、何となく使い方がわかるようになってきた。自分の作ったプログラムをモジュールとして組み込む方法もわかった。
実際にいままで開発してきたトップメニューを組み込んで動作確認もやってみた。

で、結局、このままXOOPSを使って開発をしていくのか非常に悩んでいます。というのは、XOOPSはコミュニケーションサイトとして非常に素晴らしい機能を持っているし、簡単さには衝撃的なほど感銘を受けました。でも、やっぱり自分の思うようなサイトにするには非常に手間がかかると言わざるを得ません。
ユーザ情報に追加したい項目はあるし、この画面はこうしたいという欲がでてきます。そのたびに自分好みのモジュールとして作り変えるのは、かなりリスクを負うし、他人の作ったソースを解析するのは手間がかかる作業です。

ここはひとまず、全て自分の手で開発をする方向に軌道修正をする事にして、XOOPSは別のサイト構築や部分的に使っていくような事で考えていきたいと思います。XOOPSを試した結果得たアイデアや思考はかなり有意義なものでこれからの開発にかなり役立つ事でしょう。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

XOOPS サイト構築への道1

2006-07-28 00:41:16 | ソフトにまつわる話
XOOPSのインストールは簡単だったものの、さぁその次…という所で行き詰ってしまった。
何から手を付けて良いのかわからないのだ。ググッてみてもあまり参考になるサイトが無い。とりあえず、モジュールをインストールしたり、色々試してみるがちゃんと出来ているのか実感できず、消化不良気味だ。
これは、参考書を買わなければいけないような感じだ。お金が無いので参考書だけは買うまいと思ってきたが…
全体的な動作がわかってきたら、デザインと構成を考えてという事になると思うが、デザインは大の苦手、すごく素人的なデザインしかできない。他の人にヘルプも考えなければいけないかも。
ところで、このブログをGooアドバンスにしてみました。アクセス解析ができるそうです。こんな独り言のようなページでも1日に数十のアクセスがあるので、どんなところから参照されているか、非常に興味があります。
コメント (3)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

XOOPS インストール

2006-07-24 23:16:50 | ソフトにまつわる話
検索系の開発が一通りできPHPでの開発にも大分慣れてきた。やはりライブラリが充実してくると開発のスピードも速くなってくる。

次なるステップは、ユーザ登録、ブログ機能、写真アルバムの公開などの機能の開発だ。これらの機能を簡単に構築するといえば、XOOPS(ズープス)を試さないわけにはいかないだろう。

早速インストールを…と調べてみたらXOOPSは、Linux上で動く特別なアプリケーションでは無く、PHPスクリプトとMySQLを使ったもので、必要なファイルをダウンロードしてきた後に、FTPでアップロードしてパーミッションを変更、その後、初期設定用のスクリプトを作動させ、DB等の設定を行えば完了というもので、実際にやってみても、10分程度で終了してしまった。

今日はとりあえず、ここまでとして、次からは実際にサイト構築に入ると共に、今まで開発した機能をXOOPSの中で動作させるようにしていきたい。

最終的に開発したサイトをどのような形で公開するか決まっていないので、ここら辺りもそろそろ決めなければいけないだろう。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PHP ドロップダウンメニューの設定

2006-07-20 22:46:33 | ソフトにまつわる話
データベースにアクセスした後、
そのデータをメンテナンスするプログラムを開発している。

データベースから値を持ってくる事は簡単にできるが、
その値をドロップダウンメニュー(プルダウンメニュー、コンボボックス…正式名称は一体何?)に簡単に展開する方法は無いのだろうか。
ドロップダウンメニューのタグのうち該当するところを「selected」にするだけなのだが、意外とこれが難しい。
ロジックを色々ひねくりまわして考えてみた。
あまりきれいでは無いがこんなロジックができた。

1)ドロップダウンメニューの元になるDBを全件読込む
2)その値を配列に保存する

3)配列に保存したデータとプルダウンの値を比較し、該当する値があるかどうか調べる
4)比較しながらドロップダウン用のHTMLを作っていく
5)該当する値があれば「selected」をセットする
6)最終的に該当する値が無ければ「該当なし」に「selected」をつける

上記処理をファンクション化してincludeで共有化するようにしたが、どうもすっきりしない。
よくあるというよりもすごく多用するロジックだと思うのだが、開発する人がそれぞれ工夫しているのだろうか。phpツール集のようなものは無いのだろうか。ありそうだけどね。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PHPの開発 includeファイルの場所

2006-07-12 23:37:28 | ソフトにまつわる話
よく使う処理をあらかじめまとめておいて、各プログラムから「include」文で読み込んで使うというのは、C言語などでもおなじみの機能である。
MicrosoftのASPで開発を行っている時には、外部ファイルを読み込む時には、サーバのパスを調べて絶対パスで指定していたので、PHPでも同じと勝手に思い込み、includeするファイルを、絶対パスで指定を行っていた。当然エラーでうまく動かない。

netを使って調べた結果、php.iniに記述してある、パス順にファイルの存在を調べ、最初に見つかったファイルを処理してくれる事がわかった。
要するにpath指定と同じ事だったわけだ。UNIXなんだからこっちのほうが自然なんだけど、絶対パスと思い込んでいるから解決まで思わぬ時間がかかった。
やはり新しく覚える言語はなかなか開発スピードが上がらずにイライラしてしまう。早く慣れたいものだ。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Google Mapを利用する

2006-07-11 00:47:42 | ソフトにまつわる話
今日は前から気になっていたGoogleMapを利用したコンテンツの制作方法について調べてみる事にしてみた。
Googleで検索してみると、「Google Maps Editor」というソフトが公開されている。これは、DonaDonaさんという大阪在住のエンジニアの方が開発したらしい。

http://hsj.jp/gme/

Google Maps Editorを使う前に.Netのフレームワークをインストールし、Google Maps Editorを起動する。画面を見る限り何だかよくわからないが、マニュアルに動画で説明している箇所があった。それを見て何となくわかった。

まず、GoogleAcountsというのを取得する。これは最初の1回だけ。
次に、GoogleMapsAPIKeyというキーを発行してもらう、この時、実際にアップロードするURLを決めておかないとアップロードした時にエラーになってしまう。

一応手順どおりに作ってサーバにhtmlファイルをアップしてみると、いとも簡単にGoogleMapを使うことができた。

結果的に、htmlに含める必要なタグは全てわかった。データベース上に緯度経度を含めたデータを持っていれば、動的にページを生成できるのではないだろうか。
今開発しているLinux環境の他にも、ちゃんとドメイン名を持ったWindows環境のサーバが手元にあるので、aspを使って開発をしてみる事にしよう。

通常、インターネットで見るMapを使ったサービスは年間100万円以上のライセンスが必要で、個人にはなかなか手が出るものでは無い。無料で使うことができる環境というのは、我々にとっては非常に素晴らしいものだが、何でも無料というのが良いのか悪いのか…どうなんでしょうね。一社独占なんて事にはならないで欲しいですが。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PHP キャッシュの制御

2006-07-09 17:35:57 | ソフトにまつわる話
PHPでいくつか開発を行って直面したのが、キャッシュの問題。
基本的には、PHPを使った場合には、キャッシュを無効とするらしいのだが、キャッシュを無効にすると戻りボタンを押した時、「DNSエラー」となって「ページが表示できません」という状態になってしまうのだ。
全てのプログラムで表示される訳ではないので、原因があるのだと思うが、色々調べた結果プログラムの先頭に、

session_cache_limiter('private, must-revalidate');

を入れてキャッシュを一時的に有効にするようにした。
これでエラーは出なくなったが、他に影響が出ないか慎重に調べなくてはいけないと思う。
そもそも何でDNSエラー?という気もするがこれはDNSサーバにローカルアドレスを聞きにいっているから?なのだろうか。うーん不思議だ。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PHPの開発に色々とまどう

2006-07-08 17:02:09 | ソフトにまつわる話
PHPには色々なバージョンがあるのか、環境のせいなのか良くわからないが、色々なサンプルを参考に開発を行ってもうまく動かない時が多々ある。

例えば、フォームからデータを受け取る時に、フォームのフィールド名の前に$をつければ参照できると書いてあったが、実際には、$_REQUEST['フィールド名'])のように付けなれば動かなかったし、Sessionの記述の仕方についても同様で、$_SESSION["フィールド名"]指定でなければ呼び出せなかった。
これらの状況を調査するのに時間がとられ開発はなかなかはかどらない。

でもまぁ一応、ログイン画面から処理メニューの一覧、データ表示程度は何とかなったから後は開発スピードも上がるだろう。7月中には一通りの機能が動くようにして8月頃には、プレサイトオープンといきたいものだ。

今日のメモ)
FORMからポストされてくる内容を見る場合
 $_REQUEST['フィールド名']
 直接URL指定などで、そのフィールドが無い場合にそなえ、
 if (isset($_REQUEST['フィールド名'])){
 } のようなチェックを行う。

Sessionを使う場合
 session_start();を定義する
 ログインできない時にはsession_destroy();でセッションを開放

PHP.INIの設定に注意
 デフォルト値は何なのか把握をする。
 将来レンタルサーバを使った時には設定を自分好みに変更できないから
 なるべくデフォルトで動くように考慮する 
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

AccessからMySQLへの変換

2006-07-06 23:48:39 | ソフトにまつわる話
普段マイクロソフトのAccess2000を使う事が多く、簡単なDB&アプリケーションはほとんどこれで済んでいる。WEBで公開する場合でも、件数が少なければAccessとASPで開発するケースも多い。AccessをMySQLに変換する事ができれば、開発が容易になることも多いだろう。
そこで調べてみると、AccessからMySQLへ変換するツールが存在する事がわかった。

MySQL Migration Toolkit(Windows版)

早速ダウンロード&インストールして実行してみるとJavaRunTimeが必要とのエラーが出る。そういえばWindowsXPには事前にインストールされてなかったか。これもダウンロードとインストールを行う。

このソフトは全て英語の記述なのでよくわからないが、とりあえず、元となるMDBの指定、コピー先のMySQLの設定などを行い、その他はデフォルトのまま進める。

実行してみるとDBやテーブルが出来ていない…調べると原因はログインするユーザの権限にあった。
MySQLにログインするユーザの設定を変更して、MySQLサーバを再起動後実行したところ、無事データベースとテーブルがMySQLにコピーされている。何と日本語のテーブル名、フィールド名も問題無く変換されてる。
その後、諸々自動変換で気にいらない箇所をphpMyAdminを使って一つ一つ手修正で直していく。

このツール、完全では無いが、使い方によってはかなり便利かも。
かなり開発環境は充実してきているという感じを受けた。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

LAMP開発環境一応できた…かな?

2006-07-05 10:31:09 | ソフトにまつわる話
今までやってきた事で、Linux Apache MySQL PHP という環境が一応出来上がった。
設定の最後は、FTPサーバ。標準でFTPサーバは、起動していないようなので、コンフィグ/etc/proftpd.conf中のAnonymousユーザの接続を許可しない設定に変更した後ProFTPDサービスを起動する。
今まで作業を全てrootでやってきたので、FTP接続用にユーザも新たに追加した。後はWindows側のFFFTPで接続を確認するだけ。
新たに作成したユーザでFTP接続すると、ファイル一覧がされない。
これは、FFFTP側の高度な設定でNLST -Rのチェックを外し、LISTコマンドにチェックをする事で解決した。
htmlディレクトリ以下の所有者がrootになっており書き込みが出来なくなっている。そこでディレクトリの権限設定を変更し、書き込みができるようにした。
本来であれば、このあたり綿密に設計しないとセキュリティに影響が出るだろう。

さて、これで一応、VineLinuxの設定は終了したので画面を最小化。WindowsXP上の使いなれたツール類を使って開発を行い、サーバ設定が必要ならば画面を最大化すれば良くなった。
開発を一通り進めた後は、XOOPSやBlogの構築など次のステップに行くことにしよう。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする