アドオンのレビュー申請の前にやっておきたい2つのこと

すでに作者の方々は皆知っている内容と思いますが、
個人の反省も踏まえて、いったん共有しようと思います。
(えぇ、アドオン二つともFull Reviewをrejectされましたorz)


Firefoxのアドオンにはレビューが2段階あります。
1)Preliminary Review
2)Full Review
#公式Add-on Policies - Mozilla | MDN


1個目は簡易的なレビュー。通過するとAMOで検索できます。(ただし、実験的という注意書きがかかれます)
2個目は正式なレビュー。通過すればAMOで検索でき、何の注釈もつきません。(トップページにも表示されるようになったと思います。)


今までは1個目のPreliminary Reviewだけを申請していました。こちらはすんなり通ります。(今は高速サイクルリリースの影響もあって、レビューはかなり遅れ気味です。ただ、レビュワーの方はボランティアで見てくれているので、ただただ感謝です。)


余裕かと思いきや、Full Reviewはきちんと突っ込まれます。
引っかかったのは以下の2点。

1) In order to prevent conflicts with other add-ons that may be installed by users, you need to wrap your "loose" variables and functions within a JavaScript object. You can see examples on how to do this at https://developer.mozilla.org/en/XUL_School/JavaScript_Object_Management.


2) Your add-on uses the 'eval' function unnecessarily, which is something we normally don't accept. There are many reasons *not* to use 'eval', and also simple alternatives to using it. You can read more about it here: https://developer.mozilla.org/en/XUL_School/Appendix_C:_Avoid_using_eval_in_Add-ons


1個目は、アドオンで宣言しているJavaScriptのグローバル名称を管理しなさいということ。
⇒単純に同じ名称のオブジェクトがundefinedか確認するだけ。


2個目は、evalは一切使ってはいけません。ということ。
⇒既存のアドオンでもFullReview通っているからといって油断してはだめでした。
 ⇒関数の置き換えでわかりやすいように実装する。


せっかく作ったアドオンを早くAMOに載せられるように、ここは最初からきちんと読み込んで対応しておくべきでした。反省。


現在は2つのアドオンともに修正し、再度FullReview待ちの状態です。
FixScrollはRejectされてしまったので、現在はダウンロード不可の状態です。Firefox5対応がまだの状態なので、早くReviewされたいところです。


Reviewerとなってくれた方は外国の人でした。
日本語ばかりの説明なのにレビューしてくれて、ありがとうございました。
Thank you for your review.