[IM]レポジトリから取り出した結果で開発する

INTER-Mediatorはgithubでソースを公開しています。それとは別にサイトには特定のバージョンのファイルもアップロードしています。バージョンを固定し、フレームワークに手を入れないという前提なら、サイトからのダウンロードした結果をアプリケーションにコピーして使っていただいていいのですが、検証したりあるいはアップデートを取り込みたい場合、それだとファイルコピーを自分でしないといけなくなります。

非常に割り切った言い方をさせていただくと、サイトにある各バージョンのダウンロードファイルは、「それなりにアップデートしている」というアピールのものであると言っていいかと思います。githubにあるものと、サイトにあるものは若干違っていて、後者の方はJavaScriptのソースを一体化しつつYUIで圧縮かけたものですので、若干は動作効率は高いものです。

お勧めするのは、通常の開発は、レポジトリから取り出したもので進めておき、実際にアプリケーションを配備するときに、特定のバージョン向けにビルドしたものに置き換えるということになります。もちろん、それらの相違点に注意は必要かもしれません。また、そうした作業がしやすいように、Ver.3.11をリリース後にレポジトリの内容を大きく変更しました。gitの使い方はいろいろ難しいですが、gitを全く知らない方も、ともかく以下のようにしてみてください。

まず、あるフォルダに作成するWebアプリケーションのファイルをまとめておくとします。そのフォルダを作ります。以下は、Documentsの下にmywebappフォルダを作りました。

Dec 1, 2013, 14.44.15

次に、githubのINTER-Mdiatorのページに行きます。アカウントを持ってサインインしていただくのがいいのですが、なくてもソースのダウンロードは可能です。ここで、中央右付近にあるbranchがmasterになっているのを確認してください。ブランチのmasterがその時点でのコンプリートなソースです。そして、右の方にあるHTTPS clone URLをコピーしておきます。URLが薄く見える右のボタンをクリックすれば、コピーできます。

Dec 1, 2013, 14.45.25

そして、ターミナルを開いてください。次のように作業をします。#以降はコメントです。ファイルパスはもちろん、ご自分の作られているフォルダ構成に従って指定をしてください。

cd ~/Documents/mywebapp  # Webアプリケーションのフォルダをカレントにする
git clone https://github.com/msyk/INTER-Mediator.git  # サーバからレポジトリを複製する

これだけでOKです。すると、mywebappフォルダに、INTER-Mediatorフォルダが作られます。このINTER-Mediatorフォルダがフレームワーク本体となります。この階層に、たとえば、index.htmlファイルやら、アプリケーションのhtml/phpファイルを作って行けばOKです。後はこれをサーバにコピーして稼働を確認します。

Dec 1, 2013, 14.47.28

ここで、レポジトリからクローンしたINTER-Mediatorを参照するには、定義ファイルのcontext.phpはたとえば、次のように記述をします。

<?php
require_once('INTER-Mediator/INTER-Mediator.php');
IM_Entry( .... );
?>

なお、サンプルファイルは、INTER-Mediatorフォルダ内のSamplesフォルダにあります。

もし、レポジトリ側に新しいソースコードが加わっていれば、以下のようにコマンドを入れれば、最新版を取得できます。INTER-Mediatorフォルダをカレントにして、git pullとすればいいです。

cd ~/Documents/mywebapp/INTER-Mediator
git pull

念のために説明しておきますが、pullは最新版に更新するという使い方は非常に稀で、正しくは別のレポジトリの修正を取り込むという意味合いがあります。ソースコードをメンテする上では単なる更新ではないのですが、ソースを利用する側の方から見れば更新コマンドと思っていただいて概ねいいかと思います。もし、自分でフレームワーク側のソースを修正された場合には、単純ではありませんので、ここではソースは参照だけでタッチしないという前提で、説明をここまでとします。

gitには実に多彩な機能があり、ここまでに説明した手順はほんとうにその一端でしかないのですが、これだけを知っていれば、とりあえず大丈夫かと思います。もし、フレームワーク側の修正結果をコミットしていただけるなら、それなりにコマンドを打ち込むか、あるいはアプリケーションを使うことになるかと思いますが、取り出すだけなら上記の手順以上はほとんどないと思います。

gitを使った場合の質問がある場合は、FacebookのIMのグループで質問を出してください。

Leave a Reply