OpenPNE Issue Tracking System: チケット
http://redmine.openpne.jp/
http://redmine.openpne.jp/favicon.ico
2016-07-27T11:32:27Z
OpenPNE Issue Tracking System
Redmine
opBlogPlugin - Bug(バグ) #3986 (Accepted(着手)): v0.9.0からv1.0.2へのマイグレーション後とv1.0.2のクリーンインストール後でDBスキーマに...
http://redmine.openpne.jp/issues/3986
2016-07-27T11:32:27Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-現象"></a>
<h3 >Overview (現象)<a href="#Overview-現象" class="wiki-anchor">¶</a></h3>
<p>マイグレーションスクリプトの不備により v1.0.2 へのマイグレーションと v1.0.2 のクリーンインストール後で <code>blog_rss_cache</code> テーブルのスキーマに差異が生じている。</p>
<pre>
$ cd plugins/opBlogPlugin
$ git checkout v0.9.0
$ ../../symfony doctrine:build --env=test --all --and-load
$ git checkout v1.0.2
$ ../../symfony openpne:migrate --env=test --no-update-plugin --target=opBlogPlugin
$ echo 'SHOW CREATE TABLE blog_rss_cache\G' | mysql -u root openpne_test > schema-migrate.txt
$ ../../symfony doctrine:build --env=test --all --and-load
$ echo 'SHOW CREATE TABLE blog_rss_cache\G' | mysql -u root openpne_test > schema-rebuild.txt
$ diff -u schema-migrate.txt schema-rebuild.txt
</pre>
<pre><code class="diff syntaxhl"><span class="CodeRay"><span class="line head"><span class="head">--- </span><span class="filename">schema-migrate.txt 2016-07-27 17:45:29.927593471 +0900</span></span>
<span class="line head"><span class="head">+++ </span><span class="filename">schema-rebuild.txt 2016-07-27 17:46:18.371593471 +0900</span></span>
<span class="line change"><span class="change">@@</span> -11,5 +11,7 <span class="change">@@</span></span>
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `date_INDEX_idx` (`date`),
<span class="line delete"><span class="delete">-</span> KEY `member_id_date_idx` (`member_id`,`date`)</span>
<span class="line insert"><span class="insert">+</span> KEY `member_id_date_idx` (`member_id`,`date`),</span>
<span class="line insert"><span class="insert">+</span> KEY `member_id_idx` (`member_id`),</span>
<span class="line insert"><span class="insert">+</span> CONSTRAINT `blog_rss_cache_member_id_member_id` FOREIGN KEY (`member_id`) REFERENCES `member` (`id`)</span>
) ENGINE=InnoDB DEFAULT CHARSET=utf8
</span></code></pre>
<p>不足している箇所:</p>
<ul>
<li>インデックス <code>member_id_idx</code> (Doctrine によって自動で追加されたもの) が追加されていない</li>
<li>外部キー制約 <code>blog_rss_cache_member_id_member_id</code> が追加されていない</li>
</ul>
<p>特に <code>blog_rss_cache_member_id_member_id</code> が存在しない不一致については、v1.0.3 で修正された <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug(バグ): opBlogPlugin を使用しているメンバーが退会しようとすると500エラーとなる (Fixed(完了))" href="http://redmine.openpne.jp/issues/3473">#3473</a> に関するマイグレーション時に問題となる。<br />具体的には v0.9.0 をクリーンインストールした状態から v1.0.3 にマイグレーションすると下記のエラーが発生して異常終了する。</p>
<pre>
migrating of opBlogPlugin encountered the following errors:
Error #1 - SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP 'blog_rss_cache_member_id_member_id'; check that column/key exists. Failing Query: "ALTER TABLE `blog_rss_cache` DROP FOREIGN KEY blog_rss_cache_member_id_member_id"
</pre>
<p>このエラーが発生した場合、マイグレーションが途中まで完了した状態かつ <code>opBlogPlugin_revision</code> が更新されないままロールバックされずに中断されるため、復旧が困難な <strong>非常に面倒な状態になる</strong>。(チケットの優先度を高めにしたのはこのため)</p>
<a name="Causes-原因"></a>
<h3 >Causes (原因)<a href="#Causes-原因" class="wiki-anchor">¶</a></h3>
<p><code>data/migrations/1.0.0/001_add_blog_rss_cache_table.php</code> に必要な定義が不足していたことが原因。</p>
<a name="Way-to-fix-修正内容"></a>
<h3 >Way to fix (修正内容)<a href="#Way-to-fix-修正内容" class="wiki-anchor">¶</a></h3>
<p>修正にあたって下記のパターンを考慮する必要がある。</p>
<ul>
<li>v0.9.0 をクリーンインストールした状態から最新版にマイグレーション
<ul>
<li><code>opBlogPlugin_revision</code> が存在しない状態からリビジョン 1, 2, 3, 4 の差分が一度に適用される</li>
<li>この場合、リビジョン 1 を直接修正することで <code>blog_rss_cache_member_id_member_id</code> を追加できる</li>
<li>一方で、リビジョン 1 を修正したとしても、追加された <code>blog_rss_cache_member_id_member_id</code> の存在をリビジョン 4 の up メソッド内でチェックすることはできない</li>
<li>各リビジョンの up メソッド内で呼ばれる addForeignKey などのメソッドは即時に SQL として実行されるものではない(全てのリビジョンの up メソッドが呼ばれた後に一度に実行される)</li>
</ul>
</li>
<li>v0.9.0 をクリーンインストールした状態から一度 v1.0.2 にマイグレーションしてから最新版にマイグレーション
<ul>
<li><code>opBlogPlugin_revision</code> が存在しない状態からリビジョン 1, 2, 3 の差分が適用され、その後リビジョン 4 が適用される</li>
<li>修正前のリビジョン 1 がすでに適用された状態からのマイグレーション</li>
<li>リビジョン 4 が実行される時点では <code>blog_rss_cache_member_id_member_id</code> が存在しない状態</li>
</ul>
</li>
<li>v1.0.2 をクリーンインストールした状態から最新版にマイグレーション
<ul>
<li><code>opBlogPlugin_revision</code> が 3 の状態からリビジョン 4 が適用される</li>
<li>リビジョン 4 が実行される時点では <code>blog_rss_cache_member_id_member_id</code> が存在する状態</li>
</ul>
</li>
<li>最新版をクリーンインストール</li>
</ul>
<p>上記の全てのパターンでインストールまたはマイグレーションが正常に完了し、かつ最終的な <code>blog_rss_cache</code> テーブルのスキーマが同一でなければならない。</p>
OpenPNE 3 - Bug(バグ) #2882 (Won't fix(対応せず)): opValidatorDate で「年」に 0 を入力した場合に空値として認識される
http://redmine.openpne.jp/issues/2882
2012-03-13T09:13:24Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="現象"></a>
<h3 >現象<a href="#現象" class="wiki-anchor">¶</a></h3>
<p>opValidatorDate を使用しているフォーム(コミュニティイベントの作成画面など)で、日付を入力する項目の「年」に <code>0</code> を入力すると空値として扱われる。</p>
<ul>
<li>コミュニティイベントの作成画面の場合、「募集期日」の「年」に <code>0</code> と入力された状態(「月」「日」は入力しない)で送信しても「正しくありません。」と表示されずにイベントの作成が完了する。</li>
</ul>
<a name="原因"></a>
<h3 >原因<a href="#原因" class="wiki-anchor">¶</a></h3>
<p>lib/validator/opValidatorDate.class.php の 100 行目付近</p>
<pre><code class="php syntaxhl"><span class="CodeRay"> <span class="comment">// if one date value is empty, all others must be empty too</span>
<span class="local-variable">$empties</span> =
(!<span class="predefined">isset</span>(<span class="local-variable">$value</span>[<span class="string"><span class="delimiter">'</span><span class="content">year</span><span class="delimiter">'</span></span>]) || !<span class="local-variable">$value</span>[<span class="string"><span class="delimiter">'</span><span class="content">year</span><span class="delimiter">'</span></span>] ? <span class="integer">1</span> : <span class="integer">0</span>) +
(!<span class="predefined">isset</span>(<span class="local-variable">$value</span>[<span class="string"><span class="delimiter">'</span><span class="content">month</span><span class="delimiter">'</span></span>]) || !<span class="local-variable">$value</span>[<span class="string"><span class="delimiter">'</span><span class="content">month</span><span class="delimiter">'</span></span>] ? <span class="integer">1</span> : <span class="integer">0</span>) +
(!<span class="predefined">isset</span>(<span class="local-variable">$value</span>[<span class="string"><span class="delimiter">'</span><span class="content">day</span><span class="delimiter">'</span></span>]) || !<span class="local-variable">$value</span>[<span class="string"><span class="delimiter">'</span><span class="content">day</span><span class="delimiter">'</span></span>] ? <span class="integer">1</span> : <span class="integer">0</span>);
</span></code></pre>
<p>この判定で、「年」(<code>$value['year']</code>) に <code>"0"</code> が入力されると <code>!isset($value['year']) || !$value['year']</code> が <code>true</code> となり空値と判定されることが原因。</p>
<p>参照: <a href="http://php.net/manual/ja/types.comparisons.php" class="external">PHP: PHP 型の比較表 - Manual</a></p>
<a name="修正内容"></a>
<h3 >修正内容<a href="#修正内容" class="wiki-anchor">¶</a></h3>
<p>修正内容を記入</p>
OpenPNE 3 - Enhancement(機能追加・改善) #2698 (Fixed(完了)): OpenPNE3 コアに JSON API を追加する
http://redmine.openpne.jp/issues/2698
2011-12-19T14:06:29Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-概要"></a>
<h3 >Overview (概要)<a href="#Overview-概要" class="wiki-anchor">¶</a></h3>
<p>スマートフォン対応 (<a class="issue tracker-2 status-5 priority-5 priority-high3 closed" title="Enhancement(機能追加・改善): スマートフォンに対応する (Fixed(完了))" href="http://redmine.openpne.jp/issues/2227">#2227</a>) や外部アプリから利用できるようなJSON APIを追加する</p>
<a name="Spec-仕様"></a>
<h3 >Spec (仕様)<a href="#Spec-仕様" class="wiki-anchor">¶</a></h3>
<p>出力フォーマットは JSON。<br />ユーザごとにOpenPNE内部・外部ともに共通で使用する「API キー」(ユーザ毎に生成されるランダムな文字列)を発行し、これによって認証を行う。</p>
<p><a class="external" href="https://docs.google.com/spreadsheet/ccc?key=0AlEj4P9A6aRKdGp5cjFfaER3N1IzdUNhT3RlTmtUdmc">https://docs.google.com/spreadsheet/ccc?key=0AlEj4P9A6aRKdGp5cjFfaER3N1IzdUNhT3RlTmtUdmc</a></p>
OpenPNE 3 - Bug(バグ) #1984 (Fixed(完了)): テストケースをSQLite等のDBMS上で動作させることができない
http://redmine.openpne.jp/issues/1984
2011-03-29T04:56:19Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="現象"></a>
<h3 >現象<a href="#現象" class="wiki-anchor">¶</a></h3>
<p>php5 test/unit/model/doctrine/MemberTest.php などのようにテストケースを実行すると、下記のようなエラーが出力されて中断する。<br /><pre>
PHP Fatal error: Uncaught exception 'Doctrine_Connection_Sqlite_Exception' with message 'SQLSTATE[23000]: Integrity constraint violation: 19 activity_data.body may not be NULL' in /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php:1082
Stack trace:
#0 /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection/Statement.php(269): Doctrine_Connection->rethrowException(Object(PDOException), Object(Doctrine_Connection_Statement))
#1 /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php(1042): Doctrine_Connection_Statement->execute(Array)
#2 /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php(687): Doctrine_Connection->exec('INSERT INTO act...', Array)
#3 /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctr in /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1082
Fatal error: Uncaught exception 'Doctrine_Connection_Sqlite_Exception' with message 'SQLSTATE[23000]: Integrity constraint violation: 19 activity_data.body may not be NULL' in /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php:1082
Stack trace:
#0 /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection/Statement.php(269): Doctrine_Connection->rethrowException(Object(PDOException), Object(Doctrine_Connection_Statement))
#1 /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php(1042): Doctrine_Connection_Statement->execute(Array)
#2 /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php(687): Doctrine_Connection->exec('INSERT INTO act...', Array)
#3 /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctr in /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1082
</pre></p>
<a name="原因"></a>
<h3 >原因<a href="#原因" class="wiki-anchor">¶</a></h3>
<p>test/fixtures/test_data.yml の中にActivityDataのbodyの値が設定されていないレコードが含まれている。</p>
<a name="修正内容"></a>
<h3 >修正内容<a href="#修正内容" class="wiki-anchor">¶</a></h3>
<p>dummy_activity7 と dummy_activity8 に不足している値を追加する。</p>
<a name="1527-に対する修正によって再度発生した問題"></a>
<h2 ><a class="issue tracker-1 status-5 priority-5 priority-high3 closed" title="Bug(バグ): OpenPNE 2 からのアップグレードで、誤ったコミュニティカテゴリの紐付けをおこなってしまうことがある (Fixed(完了))" href="http://redmine.openpne.jp/issues/1527">#1527</a> に対する修正によって再度発生した問題<a href="#1527-に対する修正によって再度発生した問題" class="wiki-anchor">¶</a></h2>
<a name="現象-2"></a>
<h3 >現象<a href="#現象-2" class="wiki-anchor">¶</a></h3>
<p><code>php5 test/unit/model/doctrine/MemberTest.php</code> などのようにテストケースを実行すると、下記のようなエラーが出力されて中断する。</p>
<pre>
PHP Fatal error: Uncaught exception 'Doctrine_Connection_Sqlite_Exception' with message 'SQLSTATE[HY000]: General error: 1 near "SET": syntax error. Failing Query: "SET FOREIGN_KEY_CHECKS = 0"' in /home/upsilon/git/openpne3/houou/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php:1082
Stack trace:
#0 /home/upsilon/git/openpne3/houou/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php(1061): Doctrine_Connection->rethrowException(Object(PDOException), Object(Doctrine_Connection_Sqlite_ExtraFunctions), 'SET FOREIGN_KEY...')
#1 /home/upsilon/git/openpne3/houou/test/bootstrap/database.php(15): Doctrine_Connection->exec('SET FOREIGN_KEY...')
#2 /home/upsilon/git/openpne3/houou/test/unit/model/doctrine/MemberTest.php(4): include_once('/home/upsilon/g...')
#3 {main}
thrown in /home/upsilon/git/openpne3/houou/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1082
</pre>
<a name="原因-2"></a>
<h3 >原因<a href="#原因-2" class="wiki-anchor">¶</a></h3>
<p><a class="changeset" title="fixed not to salvage removed community (which has no member information) (refs #1527)" href="http://redmine.openpne.jp/projects/op3/repository/revisions/6e7de531cbcca07f3b43e95d4368f4362ce760af">6e7de531</a> によって test/bootstrap/database.php に追加された、<br /><pre><code class="php syntaxhl"><span class="CodeRay"><span class="local-variable">$conn</span> = opDoctrineQuery::getMasterConnectionDirect();
<span class="local-variable">$conn</span>-><span class="predefined">exec</span>(<span class="string"><span class="delimiter">'</span><span class="content">SET FOREIGN_KEY_CHECKS = 0</span><span class="delimiter">'</span></span>);
</span></code></pre><br />のコードからエラーが発生している。ここで実行されている <code>SET FOREIGN_KEY_CHECKS = 0</code> はMySQLに依存するクエリであるため、MySQL以外のDBMS上では実行に失敗しエラーが発生する。</p>
<a name="修正内容-2"></a>
<h3 >修正内容<a href="#修正内容-2" class="wiki-anchor">¶</a></h3>
<p>上記のコードを、DBMSがMySQLである場合のみ実行するように修正する。</p>
opOpenSocialPlugin - Enhancement(機能追加・改善) #1979 (Fixed(完了)): [api] ヘルパーを使用せずにプロフィールURLの生成を行う
http://redmine.openpne.jp/issues/1979
2011-03-28T02:10:16Z
Youichi Kimura
kim.upsilon@bucyou.net
<p><a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Enhancement(機能追加・改善): opApplicationConfiguration::generateAppUrl() のパラメータをsf_routeに対応する (Fixed(完了))" href="http://redmine.openpne.jp/issues/1966">#1966</a> の修正によりプロフィールURLの生成にヘルパーを介さずルーティング名を直接指定できるようになったため、これに対する変更を行う。</p>
OpenPNE 3 - Bug(バグ) #1972 (Fixed(完了)): テーブル単位でデータベース接続先を設定しても無視される
http://redmine.openpne.jp/issues/1972
2011-03-24T07:15:43Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="現象"></a>
<h3 >現象<a href="#現象" class="wiki-anchor">¶</a></h3>
<p>config/ProjectConfiguration.class.php 内で、<br /><code><pre>
$manager->openConnection('sqlite:/var/local/dbfiles/openpne3-uploads.sqlite', 'slave-uploads');
$manager->bindComponent('File', 'slave-uploads');
$manager->bindComponent('FileBin', 'slave-uploads');
</pre></code><br />のような設定を追加しても、指定したとおりに接続先が変更されない。</p>
<a name="原因"></a>
<h3 >原因<a href="#原因" class="wiki-anchor">¶</a></h3>
<p>opDoctrineQuery や opDoctrineRecord がDBレプリケーション処理のために、テーブルに紐付いているコネクションを無視して上書きしてしまうため。</p>
<a name="修正内容"></a>
<h3 >修正内容<a href="#修正内容" class="wiki-anchor">¶</a></h3>
<p>修正内容を記入</p>
OpenPNE 3 - Enhancement(機能追加・改善) #1966 (Fixed(完了)): opApplicationConfiguration::generateAppUrl() ...
http://redmine.openpne.jp/issues/1966
2011-03-23T02:29:23Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-概要"></a>
<h3 >Overview (概要)<a href="#Overview-概要" class="wiki-anchor">¶</a></h3>
<p>opApplicationConfiguration::generateAppUrl() でconvertUrlStringToParametersを経由せずにURLを生成する方法として、sfWebController::genUrl() 等でも利用できるsf_routeパラメータに対応させる</p>
<a name="Spec-仕様"></a>
<h3 >Spec (仕様)<a href="#Spec-仕様" class="wiki-anchor">¶</a></h3>
<p>opApplicationConfiguration::generateAppUrl() の第2引数 $parameters に sf_route が含まれていた場合(<code>isset($parameters['sf_route'])</code>)は convertUrlStringToParameters を通さずにsfRoutingsオブジェクトにパラメータを渡す。</p>
OpenPNE 3 - Bug(バグ) #1961 (Fixed(完了)): mobile_frontend内のアクションでforwardを使用するとパラメータが文字化けする
http://redmine.openpne.jp/issues/1961
2011-03-22T05:40:21Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="現象"></a>
<h3 >現象<a href="#現象" class="wiki-anchor">¶</a></h3>
<p>mobile_frontend内のアクションでforwardを使用するとGET・POSTパラメータが文字化けする</p>
<a name="原因"></a>
<h3 >原因<a href="#原因" class="wiki-anchor">¶</a></h3>
<p>forwardを実行するとsfMobileIOFilterが再度実行されてしまい「SJIS-win→UTF-8」の変換が二重に行われてしまうため文字化けが起きる</p>
<a name="修正内容"></a>
<h3 >修正内容<a href="#修正内容" class="wiki-anchor">¶</a></h3>
<p>修正内容を記入</p>
OpenPNE 3 - Enhancement(機能追加・改善) #1946 (Fixed(完了)): DATE_FORMAT関数をMySQL以外のDBMSで利用できるようにする
http://redmine.openpne.jp/issues/1946
2011-03-09T18:00:14Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-概要"></a>
<h3 >Overview (概要)<a href="#Overview-概要" class="wiki-anchor">¶</a></h3>
<p>opCalendarPlugin等で使用されているDATE_FORMAT関数がDoctrineによってサポートされておらずMySQL依存となっているため、Doctrineを拡張してPostgreSQLやSQLiteでもDATE_FORMAT関数が動作するようにする。</p>
<a name="Spec-仕様"></a>
<h3 >Spec (仕様)<a href="#Spec-仕様" class="wiki-anchor">¶</a></h3>
<p>DoctrineのExtensionsを利用する。独自の関数を実装するためにはDoctrine_Expressionの派生クラスを作成する必要があるがDoctrineにはDoctrine_Expression派生クラスを直接適用する手段が用意されていないため、各DBMSのDoctrine_Connectionクラスを継承した派生クラスも作成する。</p>
OpenPNE 3 - Bug(バグ) #1936 (Fixed(完了)): opAnonymousMember クラスにStrict Standardsエラーが含まれている
http://redmine.openpne.jp/issues/1936
2011-03-01T08:14:16Z
Youichi Kimura
kim.upsilon@bucyou.net
<p>error_reporting に E_STRICT を設定している環境において、以下のエラーが出力される場合があります。</p>
<code><pre>
PHP Strict Standards: Declaration of opAnonymousMember::getConfig() should be compatible with that of Member::getConfig() in /home/upsilon/git/openpne3/sqlite/lib/user/opAnonymousMember.class.php on line 158
Strict Standards: Declaration of opAnonymousMember::getConfig() should be compatible with that of Member::getConfig() in /home/upsilon/git/openpne3/sqlite/lib/user/opAnonymousMember.class.php on line 158
PHP Strict Standards: Declaration of opAnonymousMember::delete() should be compatible with that of Member::delete() in /home/upsilon/git/openpne3/sqlite/lib/user/opAnonymousMember.class.php on line 158
Strict Standards: Declaration of opAnonymousMember::delete() should be compatible with that of Member::delete() in /home/upsilon/git/openpne3/sqlite/lib/user/opAnonymousMember.class.php on line 158
PHP Strict Standards: Declaration of opAnonymousMember::save() should be compatible with that of opDoctrineRecord::save() in /home/upsilon/git/openpne3/sqlite/lib/user/opAnonymousMember.class.php on line 158
Strict Standards: Declaration of opAnonymousMember::save() should be compatible with that of opDoctrineRecord::save() in /home/upsilon/git/openpne3/sqlite/lib/user/opAnonymousMember.class.php on line 158
</pre></code>
opOpenSocialPlugin - Enhancement(機能追加・改善) #1935 (Fixed(完了)): [test] opOpenSocial:execute-lifecycl...
http://redmine.openpne.jp/issues/1935
2011-03-01T06:49:20Z
Youichi Kimura
kim.upsilon@bucyou.net
<p>opOpenSocial:execute-lifecycle-event タスクに対するユニットテストを追加</p>
OpenPNE 3 - Enhancement(機能追加・改善) #1898 (Invalid(無効)): [PATCH] i18nビヘイビアを使用しているテーブルへのクエリが何度も実行される
http://redmine.openpne.jp/issues/1898
2011-01-29T16:51:02Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="概要"></a>
<h3 >概要<a href="#概要" class="wiki-anchor">¶</a></h3>
<p>「マイホーム」のページにアクセスすると、以下のようにtranslationテーブルに対するクエリが数回実行されます。<br /><pre>
SELECT s.id AS s__id, s.name AS s__name, s.application AS s__application FROM sns_term s WHERE (s.application = 'pc_frontend' AND s.id IN (SELECT s.id AS s__id FROM sns_term_translation s2 WHERE (s2.lang = 'en')))
SELECT s.id AS s__id, s.value AS s__value, s.lang AS s__lang FROM sns_term_translation s WHERE (s.id IN ('5'))
SELECT s.id AS s__id, s.value AS s__value, s.lang AS s__lang FROM sns_term_translation s WHERE (s.id IN ('1'))
SELECT s.id AS s__id, s.value AS s__value, s.lang AS s__lang FROM sns_term_translation s WHERE (s.id IN ('3'))
SELECT s.id AS s__id, s.value AS s__value, s.lang AS s__lang FROM sns_term_translation s WHERE (s.id IN ('9'))
SELECT s.id AS s__id, s.value AS s__value, s.lang AS s__lang FROM sns_term_translation s WHERE (s.id IN ('11'))
</pre></p>
<p>同様なアクセスがnavigation_translationテーブルに対しても行われます。<br />速度面での改善があるかどうかは分かりませんが、クエリにleftJoinを使用して実行回数を減らした修正を <a class="external" href="https://github.com/upsilon/OpenPNE3/commit/cb1804b">https://github.com/upsilon/OpenPNE3/commit/cb1804b</a> で行いました。</p>
OpenPNE 3 - Enhancement(機能追加・改善) #1873 (Fixed(完了)): [PATCH] opWidgetFormDateTime クラスの追加
http://redmine.openpne.jp/issues/1873
2011-01-17T13:58:06Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-概要"></a>
<h3 >Overview (概要)<a href="#Overview-概要" class="wiki-anchor">¶</a></h3>
<p>opChatPlugin に含まれている opWidgetFormDateTime クラスが他のプラグイン等にも再利用可能なものなので、宜しければコアに同梱して頂けませんでしょうか?<br />opWidgetFormDateTime クラスは sfWidgetFormI18nDateTime の日付部分に opWidgetFormDate を使用するようにしたものです。</p>
<p><a class="external" href="https://github.com/upsilon/OpenPNE3/commit/6cb8b77">https://github.com/upsilon/OpenPNE3/commit/6cb8b77</a></p>
OpenPNE 3 - Bug(バグ) #1839 (Won't fix(対応せず)): [PATCH] 一部のファイルに不要な実行権限が設定されている
http://redmine.openpne.jp/issues/1839
2010-12-09T07:37:47Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="現象"></a>
<h3 >現象<a href="#現象" class="wiki-anchor">¶</a></h3>
<p>直接実行できないphpファイルや画像ファイルなどに実行可能権限が設定されています。</p>
<a name="修正内容"></a>
<h3 >修正内容<a href="#修正内容" class="wiki-anchor">¶</a></h3>
<p>ソースツリー内にELFファイルは存在しないため、ファイルの一行目がシバン行 (先頭が「#!」で開始) であるか否かで実行権限を設定します</p>
<pre>
find * -type f ! -regex '.*\.git.*' -print0 | xargs -0r -Ifile sh -c 'head -n1 file | grep -q "^#!" && chmod +x file || chmod -x file'
</pre>
opCommunityTopicPlugin - Enhancement(機能追加・改善) #1526 (Rejected(差し戻し)): イベントの参加者を編集できるようにしてほしい
http://redmine.openpne.jp/issues/1526
2010-08-21T15:25:10Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="概要"></a>
<h3 >概要<a href="#概要" class="wiki-anchor">¶</a></h3>
<p>普段あまり書き込みをしないメンバーがイベントに参加する際に参加者一覧と実際の参加者が一致しなくなることがあるため、イベントの作成者が参加者を編集(追加・削除)できるようにしてほしいです。</p>