wiki:pne-guidelines-note
 ここの情報は古いです。ご理解頂いた上でお取り扱いください。

OpenPNE開発のガイドライン(ノート)

本Wikiはpne-guidelines(主ページ)のノートページです。主ページの内容に対しての草稿や議論は本Wikiに記載してください。主ページ、ノートページについての考え方はWikipedia Help:ノートページを参考にしてください。

追加機能の安定版への反映

http://sc.pne.jp/200712291851.png

追加機能が安定版に反映されるためには、図のプロセスをクリアする必要が有ります。

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/projects/openpne/admin/

4.File Managerページへのリンクをクリック

5.OpenPNE(old stable) or OpenPNE(stable) のフォルダのアイコン上で右クリックしNew folderを選択しフォルダを作成する。

6.作成したフォルダのアイコン上で右クリックしUploads hereを選択する。

7.画面中央のUploads Fileをクリックしローカルよりファイルをアップロードする。

8.アップロード中の画面に遷移する。

9.アップロードが完了すると、File Manager画面に戻る。

Last modified 8 years ago Last modified on Nov 19, 2009, 2:50:08 PM