You need to sign in to do that
Don't have an account?
Dev 長尾拓磨
管理パッケージ化による名前空間プレフィックス設定でAPI参照名が全て不正になった場合の対処
AppExchangeに載せるアプリケーションについてなのですが、
ある程度コーディングが完了した段階でパッケージ化を行ったのですが、
その際に設定が必要だった名前空間プレフィックスによって、
Visualforceページ、カスタムオブジェクト、カスタム項目の全てが参照不能になってしまいました。
これから、参照名に名前空間プレフィックスの追加作業を行うにあたって、
一般的な、名前空間プレフィックスを含めたAPI参照名の取得方法を知りたいです。
例えば、現在、Apexクラス内のページ遷移箇所は下記のコーディングをしております。
ここで、名前空間プレフィックスが入るとすると、べた打ちすると下記のようになりますが、これがスタンダードでしょうか。
他、影響範囲を完全には把握できていないのですが、SOQL問い合わせの際なども必要になる場合は、そちらも書き方を教えていただけないでしょうか。
よろしくお願いします。
-----
ここからは本題と少しそれるのですが、開発に当たってSFDCの技術営業の方(?)の手引きで3つの組織を作成し、進めてきました。
・開発組織
・パッケージ組織
・テスト組織
アプリケーションを公開するにあたっては、
1.開発組織でコードを作成し、リソースをパッケージ組織にデプロイする
2.パッケージ組織で管理パッケージを作成する
3.管理パッケージをテスト環境でインストールしてテストを行う
というように組み合わせて開発するのがスタンダードだとのことだったのですが、
この場合、開発組織の段階で名前空間プレフィックスを設定すると、パッケージ組織では同じ名前空間プレフィックスは設定できないので、
つまり、開発組織では名前空間プレフィックスを設定しない状態で、
コードには名前空間プレフィックスを付加したAPI参照名で開発しなければいけないことになります。これではコンパイルも通りません。
どの時点で名前空間プレフィクスを設定して開発すべきだったのでしょうか。
もしご存知の方がいらしたら教えていただけると助かります。
よろしくお願いいたします。
ある程度コーディングが完了した段階でパッケージ化を行ったのですが、
その際に設定が必要だった名前空間プレフィックスによって、
Visualforceページ、カスタムオブジェクト、カスタム項目の全てが参照不能になってしまいました。
これから、参照名に名前空間プレフィックスの追加作業を行うにあたって、
一般的な、名前空間プレフィックスを含めたAPI参照名の取得方法を知りたいです。
例えば、現在、Apexクラス内のページ遷移箇所は下記のコーディングをしております。
PageReferebce pageRef = new PageReferebce ('/apex/PageName'); return pageRef;
ここで、名前空間プレフィックスが入るとすると、べた打ちすると下記のようになりますが、これがスタンダードでしょうか。
PageReferebce pageRef = new PageReferebce ('/apex/[名前空間プレフィクス]__PageName'); return pageRef;
他、影響範囲を完全には把握できていないのですが、SOQL問い合わせの際なども必要になる場合は、そちらも書き方を教えていただけないでしょうか。
よろしくお願いします。
-----
ここからは本題と少しそれるのですが、開発に当たってSFDCの技術営業の方(?)の手引きで3つの組織を作成し、進めてきました。
・開発組織
・パッケージ組織
・テスト組織
アプリケーションを公開するにあたっては、
1.開発組織でコードを作成し、リソースをパッケージ組織にデプロイする
3.管理パッケージをテスト環境でインストールしてテストを行う
というように組み合わせて開発するのがスタンダードだとのことだったのですが、
この場合、開発組織の段階で名前空間プレフィックスを設定すると、パッケージ組織では同じ名前空間プレフィックスは設定できないので、
つまり、開発組織では名前空間プレフィックスを設定しない状態で、
コードには名前空間プレフィックスを付加したAPI参照名で開発しなければいけないことになります。これではコンパイルも通りません。
どの時点で名前空間プレフィクスを設定して開発すべきだったのでしょうか。
もしご存知の方がいらしたら教えていただけると助かります。
よろしくお願いいたします。
既存のページリンクやSOQL問い合わせは名前プレフィクスを付与しなくても動作してくれるのですね。
ページ遷移先をAssertチェックしていたテストクラスと、項目レベルセキュリティチェックのメソッドでべたうちしていた項目名のみ変更が必要なようでした。