OpenPNE Issue Tracking System: チケット
http://redmine.openpne.jp/
http://redmine.openpne.jp/favicon.ico
2017-05-19T11:02:31Z
OpenPNE Issue Tracking System
Redmine
OpenPNE 3 - Bug(バグ) #4195 (New(新規)): opFormItemGenerator で FormType が checkbox, select, radio の場合...
http://redmine.openpne.jp/issues/4195
2017-05-19T11:02:31Z
kaoru n
<a name="Overview-現象"></a>
<h3 >Overview (現象)<a href="#Overview-現象" class="wiki-anchor">¶</a></h3>
<p>opFormItemGenerator で FormType が checkbox, select, radio の場合に翻訳を行っているため、Formクラス等でカタログを変更しても反映されない。</p>
<a name="Causes-原因"></a>
<h3 >Causes (原因)<a href="#Causes-原因" class="wiki-anchor">¶</a></h3>
<p><a class="external" href="https://github.com/openpne/OpenPNE3/blob/master/lib/util/opFormItemGenerator.class.php#L47">https://github.com/openpne/OpenPNE3/blob/master/lib/util/opFormItemGenerator.class.php#L47</a><br /><a class="external" href="https://github.com/openpne/OpenPNE3/blob/master/lib/util/opFormItemGenerator.class.php#L50">https://github.com/openpne/OpenPNE3/blob/master/lib/util/opFormItemGenerator.class.php#L50</a><br /><a class="external" href="https://github.com/openpne/OpenPNE3/blob/master/lib/util/opFormItemGenerator.class.php#L78">https://github.com/openpne/OpenPNE3/blob/master/lib/util/opFormItemGenerator.class.php#L78</a><br />などで翻訳を行っている</p>
<a name="Way-to-fix-修正内容"></a>
<h3 >Way to fix (修正内容)<a href="#Way-to-fix-修正内容" class="wiki-anchor">¶</a></h3>
<p>修正内容を記入</p>
OpenPNE 3 - Task(タスク) #4112 (Accepted(着手)): PHP7対応のための修正を行う
http://redmine.openpne.jp/issues/4112
2017-01-06T06:02:42Z
Youichi Kimura
kim.upsilon@bucyou.net
<p>2017/01 時点の OpenPNE3 は、全ての安定版および master ブランチにおいて PHP7 では動作しない状態となっている (<a class="issue tracker-1 status-13 priority-4 priority-default closed" title="Bug(バグ): PHP7の環境で動かない? (Won't fix(対応せず))" href="http://redmine.openpne.jp/issues/3879">#3879</a>)</p>
<a name="調査-完了"></a>
<h4 >調査 (完了)<a href="#調査-完了" class="wiki-anchor">¶</a></h4>
<p>PHP7 への移行にあたって以下の調査を行う。</p>
<ul>
<li>OpenPNE3 が PHP7 で動かない原因</li>
<li>OpenPNE3 を PHP7 で動かすためにはどのような修正が必要か (機能を削る必要があるか)</li>
</ul>
<a name="修正"></a>
<h4 >修正<a href="#修正" class="wiki-anchor">¶</a></h4>
<ul>
<li>最低動作環境を PHP 5.4 以上とする</li>
<li><a href="https://pear.php.net/package/PEAR/download/1.10.3" class="external">PEAR 1.10.3</a> へのアップデート</li>
<li><a href="https://github.com/LExpress/symfony1" class="external">LExpress/symfony1</a> への移行</li>
<li>Net_UserAgent_Mobile をアップデート
<ul>
<li>ただしパッケージとしては未リリースのため GitHub から直接ソースコードを取得する必要がある</li>
<li><a class="external" href="https://github.com/iteman/net-useragent-mobile">https://github.com/iteman/net-useragent-mobile</a></li>
</ul></li>
</ul>
OpenPNE 3 - Task(タスク) #4071 (New(新規)): OpenPNEに同梱されている TinyMCE 3.4.4 が IE11 に対応していないため、バージョンアップにつ...
http://redmine.openpne.jp/issues/4071
2016-12-20T10:32:25Z
kaoru n
<a name="Overview-概要"></a>
<h3 >Overview (概要)<a href="#Overview-概要" class="wiki-anchor">¶</a></h3>
<p>OpenPNE がリッチテキストエディタとして採用している TinyMCE のバージョンが古く IE11 で正常に動作しないため、バージョンアップについて調査を行う。</p>
<p>正常に動作しない例<br />・プレビューモードが動作しない<br />・<meta http-equiv="X-UA-Compatible" content="IE=10"> を追加した場合、下記のような不自然な動作となる<br /> 1. プレビューモード を選択<br /> 2. 1行目に適当な文字を入力し、行末でEnterキーを押下するが、改行されずカーソルが行末に残る<br /> 3. 再度Enterキーを押下すると改行され、2行目の行頭にカーソルが移動する<br /> 4. 文字を入力すると、カーソルが3行目に移動し3行目行頭に文字が入力される</p>
<p>OpenPNE に同梱されている TinyMCE のバージョンは、3.4.4 であるが、TinyMCE 3.x は IE11 に対応していない。<br /><a class="external" href="http://archive.tinymce.com/wiki.php/TinyMCE3x:Browser_compatiblity">http://archive.tinymce.com/wiki.php/TinyMCE3x:Browser_compatiblity</a><br />IE11 に対応している TinyMCE のバージョンは、4.x となる。<br /><a class="external" href="https://www.tinymce.com/docs/get-started/system-requirements/">https://www.tinymce.com/docs/get-started/system-requirements/</a></p>
<p>TinyMCE3.x の最新版は 3.5.12(2016/10/31)<br /><a class="external" href="https://github.com/tinymce/tinymce/releases/tag/3.5.12">https://github.com/tinymce/tinymce/releases/tag/3.5.12</a><br />TinyMCE4.x の最新版は、4.5.1(2016/12/07)<br /><a class="external" href="https://github.com/tinymce/tinymce/releases/tag/4.5.1">https://github.com/tinymce/tinymce/releases/tag/4.5.1</a></p>
<p>OpenPNE としては、IE11 に対応する必要があるので、TinyMCE をバージョンアップする場合は、4.x にバージョンアップする必要がある。<br />また、OpenPNE では、同梱の TinyMCE に対して独自のカスタマイズを行っているため、このカスタマイズについても影響などの調査が必要。<br /><a class="issue tracker-1 status-5 priority-5 priority-high3 closed" title="Bug(バグ): IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる) (Fixed(完了))" href="http://redmine.openpne.jp/issues/2362">#2362</a> にて、TinyMCE 3.2.7 から 3.4.4 へのバージョンアップが行われているので参考にする。</p>
<p>また、TinyMCE 以外のライブラリへ変更する案も同時に検討したい。</p>
OpenPNE 3 - Task(タスク) #4033 (Accepted(着手)): MySQLのStrict Modeを有効にした場合に生じる問題を調査
http://redmine.openpne.jp/issues/4033
2016-10-31T05:41:59Z
Youichi Kimura
kim.upsilon@bucyou.net
<p>MySQL の sql_mode を厳格にした場合に生じる問題を調査する。</p>
<p>具体的には MySQL 5.7 から sql_mode のデフォルトが <code>ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION</code> となるため、この設定で問題が生じる箇所を探す。</p>
<p>過去には <a class="issue tracker-1 status-13 priority-4 priority-default closed" title="Bug(バグ): MySQLのStrict Modeが有効な状態でメンバーの新規登録を行うとエラーが発生する (Won't fix(対応せず))" href="http://redmine.openpne.jp/issues/3543">#3543</a> で Strict Mode における問題を修正したことがあった。</p>
<a name="使用する環境"></a>
<h4 >使用する環境<a href="#使用する環境" class="wiki-anchor">¶</a></h4>
<p>MySQL 5.7.15:</p>
<pre>
mysql> SELECT VERSION() \G
*************************** 1. row ***************************
VERSION(): 5.7.15-1
1 row in set (0.00 sec)
mysql> SELECT @@sql_mode \G
*************************** 1. row ***************************
@@sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
1 row in set (0.00 sec)
</pre>
<p>PHP 5.6.26:</p>
<pre>
$ /usr/bin/php -v
PHP 5.6.26-1 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
</pre>
opSkinThemePlugin - Bug(バグ) #4026 (Pending Review(レビュー待ち)): PC向けのテンプレートのみ存在する画面をスマートフォンで閲覧するとテーマC...
http://redmine.openpne.jp/issues/4026
2016-10-19T06:01:24Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="現象"></a>
<h3 >現象<a href="#現象" class="wiki-anchor">¶</a></h3>
<p>opSkinThemePlugin は、リクエストのあった User-Agent に応じて PC 向けの CSS とスマートフォン向けの CSS を分けて出力できるが、スマートフォンで PC 向けのテンプレートのみ用意された画面を開くと PC, スマートフォン向けのいずれの CSS も読み込まれない現象が起こる。<br />具体的には opAuthMailAddressPlugin の新規登録画面 (/opAuthMailAddress/requestRegisterURL) などで発生する。</p>
<a name="原因"></a>
<h3 >原因<a href="#原因" class="wiki-anchor">¶</a></h3>
<p><code>opThemeEvent::enableSkinByTheme()</code> メソッドでは、<code>opWebRequest::isSmartphone()</code> の結果が true の場合にはスマートフォン向け CSS のみを設定し、false の場合には PC 向け CSS のみを設定という動作となっている。<br />しかし、スマートフォンから閲覧した場合は表示される画面が常にスマートフォン向けのレイアウトであるとは限らず、PC 向けテンプレートのみ用意されている画面であれば PC 向けのレイアウトで表示される。<br />そのため、スマートフォンからの閲覧でかつ PC 向けのレイアウトが表示される場合に、PC 向け CSS が設定されておらずスキンが適用されていない状態で表示されていた。</p>
<a name="修正内容"></a>
<h3 >修正内容<a href="#修正内容" class="wiki-anchor">¶</a></h3>
<p><code>opWebRequest::isSmartphone()</code> の結果が true の場合にはスマートフォン向け CSS と PC 向け CSS の両方が設定されるように修正する。</p>
OpenPNE 3 - Enhancement(機能追加・改善) #4014 (New(新規)): member_configに格納しているメールアドレスを独立したテーブルに分離する
http://redmine.openpne.jp/issues/4014
2016-09-29T05:15:11Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-概要"></a>
<h3 >Overview (概要)<a href="#Overview-概要" class="wiki-anchor">¶</a></h3>
<p>OpenPNE3 では SNS メンバーのメールアドレスを member_config テーブルに格納しており、下記の name を割り当てている。<br />(「設定が完了していない」状態とは <a class="issue tracker-2 status-12 priority-5 priority-high3 closed" title="Enhancement(機能追加・改善): member_configのpc_address_preを複数の目的で使用すべきではない (Invalid(無効))" href="http://redmine.openpne.jp/issues/3829#note-3">#3829-3</a> で指摘しているような「所有者確認が済んでいないメールアドレス」を指す)</p>
<ul>
<li>pc_address
<ul>
<li>PCメールアドレス</li>
</ul>
</li>
<li>mobile_address
<ul>
<li>携帯メールアドレス</li>
</ul>
</li>
<li>pc_address_pre
<ul>
<li>設定が完了していないPCメールアドレス</li>
</ul>
</li>
<li>mobile_address_pre
<ul>
<li>設定が完了していない携帯メールアドレス</li>
</ul></li>
</ul>
<p>これらのメールアドレスに関する設定は下記のような問題点を抱えている。</p>
<a name="問題点1-ユニーク制約を設定できないテーブル構造"></a>
<h4 >問題点1: ユニーク制約を設定できないテーブル構造<a href="#問題点1-ユニーク制約を設定できないテーブル構造" class="wiki-anchor">¶</a></h4>
<p>メールアドレスは SNS メンバーのログインおよびパスワード再発行にも使用される重要な役割を担っている。また、その用途から自明なとおり 1 つのメールアドレスに対応する SNS メンバーが 2 人以上存在してはならない。<br />しかし、メールアドレスを格納している member_config テーブルに同じメールアドレスが複数含まれないようにユニーク制約を設定することはできない。member_config はメールアドレス以外にも様々な設定を扱っており、value に対してユニーク制約を設定してしまうと他のメンバーと設定が重複しうる別の設定項目にも影響してしまうためである。</p>
<p>そのため現在に至るまで pc_address, mobile_address には DB スキーマ上のユニーク制約を設けることができないまま、アプリケーション側でメールアドレスの重複が生じないように対処し続けてきた。<br />しかし <a class="issue tracker-1 status-5 priority-5 priority-high3 closed" title="Bug(バグ): 管理画面 招待メール送信 を利用すると同じメールアドレスを重複登録できる (Fixed(完了))" href="http://redmine.openpne.jp/issues/1816">#1816</a> のように一度でも重複チェックに漏れが生じると member_config テーブルには重複したメールアドレスが残り続けてしまう。その後の修正も <a class="issue tracker-1 status-5 priority-5 priority-high3 closed" title="Bug(バグ): 管理画面 招待メール送信 を利用すると同じメールアドレスを重複登録できる (Fixed(完了))" href="http://redmine.openpne.jp/issues/1816">#1816</a> 自体の修正だけでは足らず、 <a class="issue tracker-1 status-5 priority-5 priority-high3 closed" title="Bug(バグ): 重複登録しないように修正する前の環境で送信した招待メールでは重複登録が可能になってしまっている (Fixed(完了))" href="http://redmine.openpne.jp/issues/2340">#2340</a> のように既に重複したメールアドレスが存在していても正しく動作させるためにレコードの更新日時をチェックするといった修正も行われることになる。<br />もしユニーク制約が設定できる設計であったならば、仮に <a class="issue tracker-1 status-5 priority-5 priority-high3 closed" title="Bug(バグ): 管理画面 招待メール送信 を利用すると同じメールアドレスを重複登録できる (Fixed(完了))" href="http://redmine.openpne.jp/issues/1816">#1816</a> のような不具合が発生しても DB にレコードが追加される前に異常終了するため、その不具合のみ修正されれば十分だったはずである。</p>
<a name="問題点2-pc_address-と-mobile_address-の区別"></a>
<h4 >問題点2: pc_address と mobile_address の区別<a href="#問題点2-pc_address-と-mobile_address-の区別" class="wiki-anchor">¶</a></h4>
<p>PCメールアドレスと携帯メールアドレスの違いは <code>opToolkit::isMobileEmailAddress()</code> によって携帯メールアドレスと判断されるか否かの違いであり、いわゆる <a href="https://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%A3%E3%83%AA%E3%82%A2%E3%83%A1%E3%83%BC%E3%83%AB" class="external">キャリアメール</a> が携帯メールアドレスとして扱われている。PCメールアドレスと携帯メールアドレスは利用できる機能にも下記のような違いがある。</p>
<ul>
<li>「メール投稿」関連の機能は携帯メールアドレスからのみ利用できる</li>
<li>ログイン用メールアドレスに「PCメールアドレスと携帯メールアドレスのどちらか一方を受け付ける」を設定しているSNSでは、PCメールアドレスではPC版のみ、携帯メールアドレスでは携帯版のみにログインできる
<ul>
<li>この設定は後にデフォルトではなくなった (master, 3.6.x および 3.8.x の最新バージョン)</li>
</ul></li>
</ul>
<p>スマートフォンから OpenPNE を利用する場合は携帯 IP アドレス帯域制限により mobile_frontend は使用できないが、そのような携帯端末でも新規登録にキャリアメールを使用すると mobile_address として登録されるためログインできなくなるという問題も過去に生じていた (<a class="issue tracker-1 status-13 priority-4 priority-default closed" title="Bug(バグ): スマートフォンで携帯メールアドレスを利用することができない (Won't fix(対応せず))" href="http://redmine.openpne.jp/issues/3155">#3155</a>)。<br />また、Gmail などとキャリアメールの双方を扱える携帯端末が増えたことで pc_address, mobile_address の区別が形骸化しつつあり、携帯 (スマートフォン) で Gmail を使用しているユーザーが「携帯メールアドレス」の設定画面に <code>@gmail.com</code> のメールアドレスを入力するとエラーになるといった不親切な状態も招いている。</p>
<a name="Spec-仕様"></a>
<h3 >Spec (仕様)<a href="#Spec-仕様" class="wiki-anchor">¶</a></h3>
<p>これらの問題点を解決するために、下記のような email_address テーブルを新たに追加する。</p>
<pre><code class="yaml syntaxhl"><span class="CodeRay"><span class="key">Member</span>:
<span class="key">actAs</span>: <span class="string"><span class="content">[Timestampable, opActivateBehavior]</span></span>
<span class="key">columns</span>:
<span class="key">id</span>: <span class="string"><span class="content">{ type: integer(4), primary: true, autoincrement: true }</span></span>
<span class="key">name</span>: <span class="string"><span class="content">{ type: string(64), default: "", notnull: true }</span></span>
<span class="key">invite_member_id</span>: <span class="string"><span class="content">{ type: integer(4) }</span></span>
<span class="key">is_login_rejected</span>: <span class="string"><span class="content">{ type: boolean, notnull: true, default: false }</span></span>
<span class="key">primary_email_address_id</span>: <span class="string"><span class="content">{ type: integer(4) }</span></span> <span class="comment"># 追加</span>
<span class="key">relations</span>:
<span class="key">Member</span>: <span class="string"><span class="content">{ local: invite_member_id, foreign: id, onDelete: set null }</span></span>
<span class="key">PrimaryEmailAddress</span>: <span class="string"><span class="content">{ class: EmailAddress, local: primary_email_id, onDelete: set null }</span></span> <span class="comment"># 追加</span>
<span class="comment"># 新規テーブル</span>
<span class="key">EmailAddress</span>:
<span class="key">columns</span>:
<span class="key">id</span>: <span class="string"><span class="content">{ type: integer(4), primary: true, autoincrement: true }</span></span>
<span class="key">email_address</span>: <span class="string"><span class="content">{ type: string(255), notnull: true }</span></span>
<span class="key">member_id</span>: <span class="string"><span class="content">{ type: integer(4), notnull: true }</span></span>
<span class="key">verified</span>: <span class="string"><span class="content">{ type: boolean, notnull: true }</span></span>
<span class="key">relations</span>:
<span class="key">Member</span>: <span class="string"><span class="content">{ onDelete: cascade }</span></span>
<span class="key">indexes</span>:
<span class="key">email_address_UNIQUE</span>:
<span class="key">fields</span>: <span class="string"><span class="content">[email_address]</span></span>
<span class="key">type</span>: <span class="string"><span class="content">unique</span></span>
</span></code></pre>
<a name="DB-スキーマの詳細"></a>
<h4 >DB スキーマの詳細<a href="#DB-スキーマの詳細" class="wiki-anchor">¶</a></h4>
<ul>
<li>メンバーは 0 個以上のメールアドレスを持つことができる
<ul>
<li>0 個を許容するのは OpenID や LDAP などメールアドレスを用いない認証方式を考慮するため</li>
<li>2 個以上を許容するのは既に pc_address, mobile_address の両方にメールアドレスを設定しているメンバーを考慮するため</li>
</ul>
</li>
<li>メールアドレスに紐付くメンバーは常に 1 人のみ存在する</li>
<li>メールアドレスは pc, mobile の区別を行わずに格納する</li>
<li>メールアドレス変更や新規登録などにおける、所有者確認が済んでいないメールアドレスは <code>email_address.verified = 0</code> で表す
<ul>
<li><code>{pc,mobile}_address_pre</code> に相当する</li>
<li><a class="issue tracker-1 status-5 priority-4 priority-default closed parent" title="Bug(バグ): メールアドレス設定から意図的に他のメンバーと同じメールアドレスを設定できる (Fixed(完了))" href="http://redmine.openpne.jp/issues/4012">#4012</a> における対応と異なり、これらのメールアドレスについても一切の重複を認めない</li>
</ul>
</li>
<li>メンバーは自ら設定しているメールアドレスのうち 1 つを <code>member.primary_email_address_id</code> に設定できる</li>
</ul>
<a name="互換性に関する考慮"></a>
<h4 >互換性に関する考慮<a href="#互換性に関する考慮" class="wiki-anchor">¶</a></h4>
<ul>
<li>メールテンプレートなど pc, mobile の区別が必要な場面ではその都度 <code>opToolkit::isMobileEmailAddress()</code> を使用して判別する</li>
<li>member_config テーブルの pc_address, mobile_address は引き続き参照できる状態にする
<ul>
<li>pc_address, mobile_address を直接参照しているプラグインとの互換性を保つため</li>
<li>メンバーの PrimaryEmailAddress が変更されると、設定されたメールアドレスが pc_address, mobile_address のいずれか一方にも設定される</li>
<li>PrimaryEmailAddress のメールアドレスが pc_address に設定された場合、mobile_address のレコードが存在すれば削除される (常にどちらか一方のみ存在する状態になる)</li>
</ul></li>
</ul>
OpenPNE 3 - Enhancement(機能追加・改善) #4004 (Rejected(差し戻し)): PHP_CodeSniffer 最新版で動作するようにする
http://redmine.openpne.jp/issues/4004
2016-09-02T08:32:45Z
kaoru n
<a name="Overview-概要"></a>
<h3 >Overview (概要)<a href="#Overview-概要" class="wiki-anchor">¶</a></h3>
<p>現在 OpenPNE3 の data/CodingStandard/OpenPNE3 以下にあるファイルは PHP_CodeSniffer 1.2.x でないと動作しない。<br />PHP_CodeSniffer 最新版で動作するようにする</p>
<a name="Spec-仕様"></a>
<h3 >Spec (仕様)<a href="#Spec-仕様" class="wiki-anchor">¶</a></h3>
<p>PHP_CodeSniffer 最新版で動作するようにする</p>
OpenPNE 3 - Enhancement(機能追加・改善) #4001 (Rejected(差し戻し)): MemberConfigFormに対するテストコードの追加
http://redmine.openpne.jp/issues/4001
2016-09-01T07:38:24Z
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-1 status-13 priority-4 priority-default closed" title="Bug(バグ): メールアドレス設定など、確認欄がある場合のエラー表示が適切ではない (Won't fix(対応せず))" href="http://redmine.openpne.jp/issues/2489">#2489</a> の動作確認のために作成した MemberConfigForm に対するテストコードを追加します。</p>
<a name="Spec-仕様"></a>
<h3 >Spec (仕様)<a href="#Spec-仕様" class="wiki-anchor">¶</a></h3>
<p>下記のパターンで <a class="issue tracker-1 status-13 priority-4 priority-default closed" title="Bug(バグ): メールアドレス設定など、確認欄がある場合のエラー表示が適切ではない (Won't fix(対応せず))" href="http://redmine.openpne.jp/issues/2489">#2489</a> の「修正内容」の仕様を満たしているか確認します。</p>
<table style="text-align: center;">
<tr>
<th>IsConfirm </th>
<th>IsUnique </th>
</tr>
<tr>
<td> ○ </td>
<td> × </td>
</tr>
<tr>
<td> × </td>
<td> ○ </td>
</tr>
<tr>
<td> ○ </td>
<td> ○ </td>
</tr>
</table>
<p>また、元の値と <code>$validator->clean()</code> 後の値が異なる場合をテストするため、<code>IsTrim</code> が true の状態で空白が除去されるパターンも含んでいます。</p>
OpenPNE 3 - Enhancement(機能追加・改善) #3676 (Rejected(差し戻し)): JSON APIの検索系エンドポイントで抽出範囲を指定するパラメータを共通して使...
http://redmine.openpne.jp/issues/3676
2014-08-07T07:16:17Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-概要"></a>
<h3 >Overview (概要)<a href="#Overview-概要" class="wiki-anchor">¶</a></h3>
<p>現行の <code>activity/search.json</code> に存在する <code>count</code>, <code>max_id</code>, <code>since_id</code> のパラメータを、<code>member/search.json</code>, <code>member/community.json</code>, <code>community/search.json</code>, <code>community/member.json</code> でも使えるようにする。</p>
<a name="Spec-仕様"></a>
<h3 >Spec (仕様)<a href="#Spec-仕様" class="wiki-anchor">¶</a></h3>
<ul>
<li><code>count</code>: 取得する検索結果の最大件数
<ul>
<li>OpenPNE.yml の <code>json_api_fetch_limit</code> で指定された値よりも大きい <code>count</code> を指定することは出来ない</li>
<li><code>count</code> に上限以上の値が指定された場合は <code>json_api_fetch_limit</code> の件数だけ取得する</li>
<li><code>count</code> が指定されていない場合もデフォルト値として <code>json_api_fetch_limit</code> の件数だけ取得する</li>
</ul>
</li>
<li><code>max_id</code>: IDが指定された値以下のメンバー(またはコミュニティ)を検索する (<code>max_id</code> 自体を <strong>含む</strong>)</li>
<li><code>since_id</code>: IDが指定された値より大きいメンバー(またはコミュニティ)を検索する (<code>since_id</code> 自体を <strong>含まない</strong>)</li>
</ul>
<p>以下のフィールドは API の <strong>レスポンス</strong> に新たに追加します。</p>
<ul>
<li><code>hasNext</code>: 次のページが存在するか否かを表す真偽値</li>
</ul>
OpenPNE 3 - Enhancement(機能追加・改善) #3304 (Rejected(差し戻し)): opNotificationCenter クラスに対するユニットテストを追加する
http://redmine.openpne.jp/issues/3304
2013-01-24T09:59:44Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-概要"></a>
<h3 >Overview (概要)<a href="#Overview-概要" class="wiki-anchor">¶</a></h3>
<p>opNotificationCenter クラス内にある全てのメソッド notify(), setRead(), getNotifications() に対するユニットテストを作成する。</p>
<a name="Spec-仕様"></a>
<h3 >Spec (仕様)<a href="#Spec-仕様" class="wiki-anchor">¶</a></h3>
<p>既存のテストと同様に <a href="http://trac.symfony-project.org/wiki/LimeTestingFramework" class="external">lime</a> を使用したテストコードを作成する</p>
OpenPNE 3 - Enhancement(機能追加・改善) #3233 (Rejected(差し戻し)): member/search.jsonのtargetパラメータにメンバーIDによる...
http://redmine.openpne.jp/issues/3233
2012-10-18T10:05:02Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-概要"></a>
<h3 >Overview (概要)<a href="#Overview-概要" class="wiki-anchor">¶</a></h3>
<p>JSON API のドキュメントに記載されている <a href="http://houou.github.com/api.php/member_search.html" class="external"><code>member/search.json</code></a> の target=member パラメータが実装されていないため、これを実装する。</p>
<a name="Spec-仕様"></a>
<h3 >Spec (仕様)<a href="#Spec-仕様" class="wiki-anchor">¶</a></h3>
<ul>
<li>target=member が指定された場合に適切にクエリの条件を絞り込む</li>
<li>target に不正な文字列が渡された場合には400エラーを返す</li>
</ul>
OpenPNE 3 - Task(タスク) #2763 (New(新規)): opDiaryPluginのAPIを整備する
http://redmine.openpne.jp/issues/2763
2012-01-23T09:29:25Z
Shouta Kashiwagi
kashiwagi@openpne.jp
<p>opDiaryPluginのAPIを整備する</p>
OpenPNE 3 - Enhancement(機能追加・改善) #2045 (New(新規)): #1482 の新パスワード仕様の使用可否を設定できるようにする
http://redmine.openpne.jp/issues/2045
2011-05-02T17:11:17Z
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-1 priority-5 priority-high3 overdue parent" title="Enhancement(機能追加・改善): Enhancement for Password (パスワードの仕様変更) (New(新規))" href="http://redmine.openpne.jp/issues/1482">#1482</a> の新パスワード仕様を無効にする設定を追加</p>
<a name="Spec-仕様"></a>
<h3 >Spec (仕様)<a href="#Spec-仕様" class="wiki-anchor">¶</a></h3>
<p>OpenPNE.yml に password_through_phpass (デフォルト: true) を追加</p>
OpenPNE 3 - Enhancement(機能追加・改善) #1539 (Rejected(差し戻し)): customizing.css がブラウザキャッシュを使うように対処する
http://redmine.openpne.jp/issues/1539
2010-08-30T10:08:11Z
Shinichi Urabe
urabe+op3@nuts-choco.com
<a name="概要"></a>
<h3 >概要<a href="#概要" class="wiki-anchor">¶</a></h3>
<p>customizing.css 出力時にブラウザキャッシュを使うようにレスポンスを変更する<br />CSS更新時は customizing.css にパラメータを追加して、ブラウザキャッシュが読まれないように対処する</p>
<a name="仕様"></a>
<h3 >仕様<a href="#仕様" class="wiki-anchor">¶</a></h3>
<p>SnsConfig テーブルにカスタムCSS用のリビジョン番号を保存し、customizing.css に customizing.css?rev=1 のようにパラメータとして渡す</p>
OpenPNE 3 - Enhancement(機能追加・改善) #1482 (New(新規)): Enhancement for Password (パスワードの仕様変更)
http://redmine.openpne.jp/issues/1482
2010-08-05T03:11:03Z
Shogo Kawahara
kawahara@bucyou.net
<a name="Overview-概要"></a>
<h3 >Overview (概要)<a href="#Overview-概要" class="wiki-anchor">¶</a></h3>
<p>Enhancement for Password (パスワードの仕様変更)</p>
<ul>
<li>The password is saved database before md5 hash now, but hash function must use salted SHA256 or salted SAH512.</li>
<li>The password must be able to use the symbol character.</li>
</ul>
<ul>
<li>現状md5ハッシュでの保存となっているが、salted SHA256や salted SHA512 (もしくはより安全なハッシュアルゴリズム)を利用する。
<ul>
<li>(OpenPNE3は PHP5.2以降のためphp5.1.2でデフォルトで有効になったhash拡張モジュールを活用するといった手段を使いたい)</li>
</ul>
</li>
<li>パスワードの文字長は最小は制限するが最大値は制限しない。</li>
<li>英数字意外にも記号を使えるようにする</li>
<li>旧バージョンとの互換性
<ul>
<li>文字長で判断?</li>
</ul></li>
</ul>