# Usagi Project MyNETS 1.1.1 コンバートガイド

最終更新日: 2007/08/07

## 目次

- 0. はじめに
- 1. 手順
- 2. 作業方法
  - 2-1-1. コンバートSQLの実行
  - 2-2. ソースコードの置き換え
  - 2-3. 設定ファイルの変更
- 3. MyNETSで削除された設定ファイル
- 4. MyNETS1.1.*とOpenPNE2.4系テーブルの違う部分
- 5. メール投稿機能が大幅に追加

## 0. はじめに

この文書は、OpenPNE バージョン2.4.* から MyNETSバージョン1.1.1 へのコンバートの手順を書いたものです。
OpenPNE Ver2.6.*、Ver2.8.* からのコンバートは動作報告がされておりますが、確実に動作を保障するものではありません。
ご確認のうえ行うようにしてください。

## 1. 手順

アップグレードは以下のような手順で進めます。

1. メインテナンスモードへ切り替え(config.php[define('OPENPNE_UNDER_MAINTENANCE', true);])
2. 現在のデータベースをバックアップ
3. コンバートSQLの実行
4. ソースコードの置き換え
5. 設定ファイルの変更
6. 運用モードへ切り替え(config.php[define('OPENPNE_UNDER_MAINTENANCE', false);])

## 2. 作業方法

### 2-1-1. コンバートSQLの実行

OpenPNEから移行する場合は
setup/sql/MySQL4.*/convert/Pne2Usagi_convertSQL4MySQL4.*.sql を実行します。
MySQLのバージョンによってsqlディレクトリの下のディレクトリを選択してください。ご使用のMySQLのバージョンにあったディレクトリ以下のファイルを実行してください。

次に、OpenPNEからの移行の場合は、コメント集計値の計算、足跡カウントの計算とコメント番号の追加を行います。
これはOpenPNEでは日記のコメントを集計するのは日記のコメントテーブルを日記IDでカウントして数字をその場で計算していますが、
MyNETS1.1.1では、コメントが追加、削除されたタイミングでリアルに日記テーブルにカウントしています。
そのため、コメント数を集計して日記テーブルのコメントカウント項目へ計算した数値を保存しておきます。
また、足跡総数も同様に足跡ページを開くたびに自分が対象のテーブルを抽出して集計していますが、これも足跡データが保存されるタイミングでリアルに集計されてデータを保存するようになっております。
そのため、データコンバートのスクリプト（PHPファイル）をMyNETS設置後１度だけ実行して数字の整合性を保ちます。
さらに、コメントに番号がつくようになっておりますので、その対応を行う必要があります。

※なお新規インストール、MyNETSのバージョンアップの場合は以下のスクリプトを実行する必要がありません。
OpenPNE2Usagi_Upgrade4diary_comment_count.php
OpenPNE2Usagi_Upgrade4ashiato_count.php
diary_comment_no_convert.php
topic_update_convert.php

上記の4ファイルを
[OPENPNE_URL]以下に移動してください。
http://OPENPNE_URL/OpenPNE2Usagi_Upgrade4diary_comment_count.php
上記のようにブラウザから直接呼び出します。
設置して呼び出す場所は通常SNSをログインするディレクトリとなります。

※データ量が多い場合は終了まで時間がかかりますので、お待ちください。

すべての再集計が終わったら、上記４ファイルは削除するか別の場所へ保存するようにしてください。
一度実行すると、OPENPNE_DIR/var/log/ にログファイルが保存されます。実行日時が記載されます。

### 2-2. ソースコードの置き換え

サーバ上に MyNETS 1.1.1 のソースファイルを設置します。 詳しくは、「MyNETS セットアップガイド」の「1. ファイルの設置」を参考にしてください。

MyNETS1.1.1では、OpenPNEからディレクトリ構成が変更され、public_htmlが廃止されています。確実にソースコードを入れ替えるようにしてください

### 2-3. 設定ファイルの変更

MyNETSで追加された設定ファイル(config.php)

※config.phpは、MyNETSに含まれるconfig.php.sampleを元に変更し作成されることを推奨します。
尚MyNETS1.1.1ではディレクトリの構成が変更となり、public_htmlが廃止されました。それによりOPENPNE_DIR直下にconfディレクトリが用意され、そこへconfig.phpを保存するようになりました。ご注意ください。

- 運用モードでhtml中の空白改行を一部削除:
  $GLOBALS['SMARTY']['autoload_filters'] = array( "pre" => array("strip"),"output"=>array("comment") );
- 未ログイン日数を変更:
  define('LASTLOGIN_DAYS', 3);
- MyNETSでテーブルのPREFIXを利用するかどうか:
  define('MYNETS_PREFIX_NAME','');
- どのDBモジュールを使用するか ('pne','mysql'):
  define('MYNETS_DB_MODULE', 'mysql');
- CAPTCHA（画像のなかの文字列をメンバーに入力させる認証方式）を使用するかどうか:
  define('MYNETS_USE_CAPTCHA', true);
- 最新日記の表示を一人１件とする場合はtrue,すべて出す場合はfalse:
  define('DIARY_DISTINCT_LIST',true);
- コミュニティの更新表示を１コミュニティ１件とする場合はtrue,すべて出す場合はfalse:
  define('COMMU_DISTINCT_LIST',false);
  ※この項目は現在未使用で予約されています。
- 外部公開日記を行う
  define('MYNETS_OPEN_DIARY', true);
- 外部公開コミュニティを行う
  define('MYNETS_OPEN_COMMU', false);
  ※この項目は現在未使用で予約されています。
- HOMEのカレンダーを本日起点とする。日曜起点の場合はfalse
  define('DISPAY_SCHEDULE_WEEK', false);

* 設置ディレクトリおよび設置スキンのパーミッションを777に変更します。
*MyNETSではスキン画像をDBではなくディレクトリ保存を行い、画面表示のレスポンスを向上させる対策を取っています。そのため画像をskinディレクトリ以下に保存しなければなりません。
新しく自分で作成したスキン画像等をご利用になる場合は「SETUPガイド」をお読みになり、ディレクトリ構成をご確認ください。

    $ chmod -R 777 OPENPNE_DIR/skin/*/img/

以上でアップグレード作業は完了です。。

## 3. MyNETSで削除された設定項目

- BIZ機能は削除されましたので下の項目はありません
  define('USE_BIZ_DIR', false);
  define('OPENPNE_WEBAPP_BIZ_DIR' , OPENPNE_DIR . '/webapp_biz');
  define('OPENPNE_MODULES_BIZ_DIR', OPENPNE_WEBAPP_BIZ_DIR . '/modules');;
- セーフモードかどうかは自動判定になりましたので下の項目はありません
  define('MAIL_SET_ENVFROM', true);
- コミュニティに地図を表示するかどうか
  define('OPENPNE_USE_COMMU_MAP', true);

## 4. MyNETS1.1.1とOpenPNE2.4系のテーブルと違う部分

1. 伝言板用のテーブルが追加されています。（テーブル追加）
2. 日記のコメント集計方法が変更になり、日記テーブルに数がリアルにカウントされます。（カラム追加）
3. 足跡集計方法が変更になり、足跡テーブルを常に集計せず、リアルに会員テーブルに数がカウントされます。（カラム追加）
4. 日記閲覧用のテーブルが追加されています。（テーブル追加）
5. 日記タグ用のテーブルが追加されています。（テーブル追加）
6. ランキング集計データ保存テーブルが追加されています。（テーブル追加）※これは現在まだ未稼働で今後変更になる可能性があります。
7. 足跡テーブルに携帯かPCからの接続の情報が保存されるようになり、足跡一覧を見たときに携帯接続がPC接続が判別できるようになりました。（カラム追加）
8. PC及び携帯用のテンプレートファイルを用意することで、設定画面からメンバーが画面変更を行うことが出来るようになりました。その設定保存のため、c_memberにカラムを追加、またテンプレートファイルの内容を保存するc_display_viewテーブルが追加されました。
9. 退会者の管理用テーブルが追加されています。（テーブル追加）
10. 携帯の画面切り替えを管理するためのテーブルが追加されています。（テーブル追加）

※今後もテーブルの追加及び削除、修正が行われる可能性があります。但しその場合は修正・追加一覧とコンバート用ファイルを用意して、 移行がスムーズに行えるのを確認した上でリリースいたします。

※2.6系のテーブルでもアップグレードSQLの実行及びコンバータスクリプトの実行により、動作する事が確認されています。

※これらの運用中データベースの移行は、確実な動作を保障するものではありませんので、移行の際はバックアップを確実に行ったうえで実効してください。
また、独自のカスタマイズでテーブル等の項目を追加したり削除している場合はそのままでは動くかどうかは分かりませんので、 各種スクリプトを実行する前にSQLの内容を確認の上ご自信の判断で移行処理を行ってください。

## 5. MyNETSでは携帯メール投稿関連の機能が大幅に追加されています。

MyNETSでは、携帯機能強化とともに、メール投稿で扱える機能が大幅に向上しました。

項目 | 新形式 | 旧形式
--- | --- | ---
コミュニティTOPICのメール作成 | eXXX-YYY@MAIL_SERVER_DOMAIN | eXXX@MAIL_SERVER_DOMAIN
コミュニティTOPICのメール修正 | etXXX-YYY@MAIL_SERVER_DOMAIN | etXXX@MAIL_SERVER_DOMAIN
コミュニティ画像のメール投稿 | copicXXX-XXX-YYY@MAIL_SERVER_DOMAIN | copicXXX-YYY@MAIL_SERVER_DOMAIN
日記コメントメール投稿 | cXXX-YYY@MAIL_SERVER_DOMAIN | cXXX@MAIL_SERVER_DOMAIN
日記画像の修正メール投稿 | dpicXXX-XXX-YYY@MAIL_SERVER_DOMAIN | cXXX-XXX@MAIL_SERVER_DOMAIN

- XXX には数字。
- YYY には12バイトの英数字([0-9a-f]{12})。

※上記がMyNETSで新たに追加されたメール投稿機能です。運営していたOpenPNEの設定に追加してください。

以上の内容を確認しながらコンバートしてください。

OpenPNEは株式会社手嶋屋の開発しているオープンソースソフトウェアの名称です。
MyNETSは、ネットを使って多くの開発者が共同で開発しているUsagiProjectのオープンソースソフトウェアの名称です。
プロジェクト管理者、開発者、開発協力者の情報はプロジェクトホームページをご覧ください。
UsagiProject | SourceForge.jp UsagiProject