Version 24 (modified by 13 years ago) (diff) | ,
---|
OpenPNE開発のガイドライン(ノート)
本Wikiはpne-guidelines(主ページ)のノートページです。主ページの内容に対しての草稿や議論は本Wikiに記載してください。主ページ、ノートページについての考え方はWikipedia Help:ノートページを参考にしてください。
追加機能の安定版への反映
追加機能が安定版に反映されるためには、図のプロセスをクリアする必要が有ります。
UIの統一・セキュリティの検証
安定版をリリースするためには、UI・セキュリティ検証の各チームによる検証作業を通過させる必要があります。
設計ガイドライン
設計時の指針
動かせない物を基準に設計する
- ユーザー体験
- 慣れた操作
- URL
- プロトコル・規格
- SMTPプロトコル
- HTML・携帯など
- API
- 小窓仕様
- OpenPNE API
動かせる物は動してもいい
- すでに作ったソースコード
- フレームワーク
要望取り込みガイドライン
trunk受け入れ基準
コミット先
リリース作業手順(あとで適切な場所に移動する)
環境変数設定
$ export OPENPNE_PRE_VERSION=2.13.2 $ export OPENPNE_VERSION=2.13.3 $ export OPENPNE_REL_DBNAME=rel_`date +%Y%m%d%H%M%S%s`
セットアップSQL
データベース作成・初期データインポート
$ echo "create database $OPENPNE_REL_DBNAME default character set utf8" | mysql5 -u root $ mysql5 -u root --default-character-set=utf8 $OPENPNE_REL_DBNAME < setup/sql/mysql41/install/install-$OPENPNE_PRE_VERSION-create_tables.sql $ mysql5 -u root --default-character-set=utf8 $OPENPNE_REL_DBNAME < setup/sql/mysql41/install/install-$OPENPNE_PRE_VERSION-insert_data.sql $ ls setup/sql/mysql41/update/update*$OPENPNE_VERSION* | awk '{print "mysql5 -u root --default-character-set=utf8 "ENVIRON["OPENPNE_REL_DBNAME"]" < "$1}' | sh
create_tables のダンプ
$ mysqldump5 -u root --default-character-set=utf8 $OPENPNE_REL_DBNAME --extended-insert=FALSE --no-data=TRUE > setup/sql/mysql41/install/install-$OPENPNE_VERSION-create_tables.sql.tmp $ vi setup/sql/mysql41/install/install-$OPENPNE_VERSION-create_tables.sql.tmp
※以下をおこなう
- /*!40101 SET NAMES utf8 */; 以外のコメント削除
- --- ではじまる行を削除
:%s/^--.*\n//g
- DROP ではじまる行を削除
:%s/^DROP.*\n//g
- SET ではじまる行を削除
:%s/^SET.*\n//g
- AUTO_INCREMENT=[0-9]+ を削除
:%s/ AUTO_INCREMENT=[0-9]\+//g
- CREATE TABLE 以上の空行を1つに
:%s/\n\+CREATE TABLE/^M^MCREATE TABLE/g ※^M は CTRL-v CTRL-m によって入力すること
diff で差異を確認
$ diff -u setup/sql/mysql41/install/install-$OPENPNE_PRE_VERSION-create_tables.sql setup/sql/mysql41/install/install-$OPENPNE_VERSION-create_tables.sql.tmp V
insert_data のダンプ
$ mysqldump5 -u root --default-character-set=utf8 $OPENPNE_REL_DBNAME --extended-insert=FALSE --no-create-info=TRUE --add-locks=FALSE > setup/sql/mysql41/install/install-$OPENPNE_VERSION-insert_data.sql.tmp $ vi setup/sql/mysql41/install/install-$OPENPNE_VERSION-insert_data.sql.tmp
※以下をおこなう
- /*!40101 SET NAMES utf8 */; 以外のコメント削除
- --- ではじまる行を削除
:%s/^--.*\n//g
- /*!40000 ではじまる行を削除
:%s/^\/\*!40000.*\n//g
- AUTO INCREMENT 値を NULL に
:%s/VALUES ([0-9]\+,/VALUES (NULL,/g
- 日付を NOW() に
:%s/'2008[0-9\-: ]\+',/NOW(),/g :%s/'2008[0-9\-: ]\+')/NOW())/g
- 空行を置換
:%s/\n\+INSERT/^MINSERT/g ※^M は CTRL-v CTRL-m によって入力すること
diff で差異を確認
$ diff -u setup/sql/mysql41/install/install-$OPENPNE_PRE_VERSION-insert_data.sql setup/sql/mysql41/install/install-$OPENPNE_VERSION-insert_data.sql.tmp V
旧バージョンのSQLのファイル名を変更
$ svn mv setup/sql/mysql41/install/install-$OPENPNE_PRE_VERSION-create_tables.sql setup/sql/mysql41/install/install-$OPENPNE_VERSION-create_tables.sql $ svn mv setup/sql/mysql41/install/install-$OPENPNE_PRE_VERSION-insert_data.sql setup/sql/mysql41/install/install-$OPENPNE_VERSION-insert_data.sql
新バージョンのSQLの内容を差し替え
$ mv setup/sql/mysql41/install/install-$OPENPNE_VERSION-create_tables.sql.tmp setup/sql/mysql41/install/install-$OPENPNE_VERSION-create_tables.sql $ mv setup/sql/mysql41/install/install-$OPENPNE_VERSION-insert_data.sql.tmp setup/sql/mysql41/install/install-$OPENPNE_VERSION-insert_data.sql
コミット
$ svn ci
MySQL4.0 用 create_tables 作成
$ cp setup/sql/mysql41/install/install-$OPENPNE_VERSION-create_tables.sql setup/sql/mysql40/install/install-$OPENPNE_VERSION-create_tables.sql.tmp $ vi setup/sql/mysql40/install/install-$OPENPNE_VERSION-create_tables.sql.tmp
※以下をおこなう
- ) ENGINE= ではじまる行を置換
:%s/^) ENGINE=.* MAX_ROWS=190000;/) TYPE=MyISAM MAX_ROWS=190000;/g :%s/^) ENGINE=.*/) TYPE=MyISAM;/g
- character set utf8 collate utf8_unicode_ci
:%s/ character set utf8 collate utf8_unicode_ci//g
diff で差異を確認
$ diff -u setup/sql/mysql40/install/install-$OPENPNE_PRE_VERSION-create_tables.sql setup/sql/mysql40/install/install-$OPENPNE_VERSION-create_tables.sql.tmp V
MySQL4.0 用 insert_data 作成
$ cp setup/sql/mysql41/install/install-$OPENPNE_VERSION-insert_data.sql setup/sql/mysql40/install/install-$OPENPNE_VERSION-insert_data.sql.tmp $ vi setup/sql/mysql40/install/install-$OPENPNE_VERSION-insert_data.sql.tmp
diff で差異を確認
$ diff -u setup/sql/mysql40/install/install-$OPENPNE_PRE_VERSION-insert_data.sql setup/sql/mysql40/install/install-$OPENPNE_VERSION-insert_data.sql.tmp V
旧バージョンのSQLのファイル名を変更
$ svn mv setup/sql/mysql40/install/install-$OPENPNE_PRE_VERSION-create_tables.sql setup/sql/mysql40/install/install-$OPENPNE_VERSION-create_tables.sql $ svn mv setup/sql/mysql40/install/install-$OPENPNE_PRE_VERSION-insert_data.sql setup/sql/mysql40/install/install-$OPENPNE_VERSION-insert_data.sql
新バージョンのSQLの内容を差し替え
$ mv setup/sql/mysql40/install/install-$OPENPNE_VERSION-create_tables.sql.tmp setup/sql/mysql40/install/install-$OPENPNE_VERSION-create_tables.sql $ mv setup/sql/mysql40/install/install-$OPENPNE_VERSION-insert_data.sql.tmp setup/sql/mysql40/install/install-$OPENPNE_VERSION-insert_data.sql
コミット
$ svn ci
version.php 変更
$ perl -i -npe "s/$OPENPNE_PRE_VERSION/$OPENPNE_VERSION/" webapp/version.php $ svn ci version $OPENPNE_VERSION
タグ作成
$ svn copy https://trac.openpne.jp/svn/OpenPNE/trunk/ https://trac.openpne.jp/svn/OpenPNE/tags/unstable/OpenPNE-$OPENPNE_VERSION
or
$ awk 'BEGIN {split(ENVIRON["OPENPNE_VERSION"], array, "."); print "svn copy https://trac.openpne.jp/svn/OpenPNE/branches/stable-"array[1]"."array[2]".x https://trac.openpne.jp/svn/OpenPNE/tags/stable/OpenPNE-$OPENPNE_VERSION"}' | sh
パッチ作成
$ svn co https://trac.openpne.jp/svn/OpenPNE_specification/patch $ svn di https://trac.openpne.jp/svn/OpenPNE/tags/stable/OpenPNE-$OPENPNE_PRE_VERSION/ https://trac.openpne.jp/svn/OpenPNE/tags/stable/OpenPNE-$OPENPNE_VERSION/ > OpenPNE_$OPENPNE_PRE_VERSION\_to_OpenPNE_$OPENPNE_VERSION.patch # ファイル名のバージョン部分の . を _ に変更 $ svn st | grep "^?" | awk '{print $2}' | xargs svn add $ svn ci
sourceforge.net へアップロード
タグから export
$ svn export https://trac.openpne.jp/svn/OpenPNE/tags/unstable/OpenPNE-$OPENPNE_VERSION/
or
$ svn export https://trac.openpne.jp/svn/OpenPNE/tags/stable/OpenPNE-$OPENPNE_VERSION/
アーカイブ作成
$ zip -r OpenPNE-$OPENPNE_VERSION.zip OpenPNE-$OPENPNE_VERSION $ tar cvfz OpenPNE-$OPENPNE_VERSION.tar.gz OpenPNE-$OPENPNE_VERSION $ tar cvfj OpenPNE-$OPENPNE_VERSION.tar.bz2 OpenPNE-$OPENPNE_VERSION
アップロード作業
$ echo "put OpenPNE-$OPENPNE_VERSION.zip¥nput OpenPNE-$OPENPNE_VERSION.tar.gz¥nput OpenPNE-$OPENPNE_VERSION.tar.bz2" | sftp jsmith@frs.sourceforge.net:uploads
アップロード作業(ブラウザ上で実施する場合)
'2009/08/17追記':sourceforge.netへのアップロードがブラウザでしか出来なくなってしまったようなので、その手順を紹介します。
1.作成したアーカイブをローカルにWinSCP等でダウンロードする
2.sourceforge.netへログインする
https://sourceforge.net/account/login.php
3.adminページへ移動する
https://sourceforge.net/project/admin/
4.File Managerページへのリンクをクリック
5.OpenPNE(old stable) or OpenPNE(stable) のフォルダのアイコン上で右クリックしNew folderを選択しフォルダを作成する。
6.作成したフォルダのアイコン上で右クリックしUploads hereを選択する。
7.画面中央のUploads Fileをクリックしローカルよりファイルをアップロードする。
8.アップロード中の画面に遷移する。
9.アップロードが完了すると、File Manager画面に戻る。