2012年6月17日日曜日

Dreamweaver CS6 + PhoneGap 1.7

表題の通り、DW CS6を使い始めています。まぁ無料評価版ですが。なんかものすごい重いけど、それはまぁ最新のMacなら問題ないのでしょう。

で、今日はさくっと簡単にアプリをiPhoneの上で走らせて、そこまでの紆余曲折なんかも公開して、「いやー、ちょっとハマりましたけど、簡単ですね。はははははは」とか書こうと思っていたのですが、最後の最後、iPhoneにインストールするところで失敗してしまいます。

Androidはエミュレータ上で普通に起動するんですが。

というわけで、表題のDreamweaver CS6 + PhoneGap 1.7>iPhone4については、また今度の週末チャレンジ致します。

それにしても、これまでPhoneGap苦手ってかJavaScript苦手なんであんまり触っていなかったんですが…覚えることがたくさんあり過ぎて涙目です。

いや、まだ別にPhoneGapで行くと決めたわけではないのですが。

2012年6月9日土曜日

Salesforce季節の変わり目にありがちなこと:APIが違う

さてもうすぐSummer '12です。

新規に取得したDev環境はSummer '12になってますね。その上で一部リリースされた新機能を試したりチャットのポップアップがうぜぇwなどと言いつつ作業し、できあがったパッケージを本番環境に移そうとしたのですが…「API違うから駄目っすw」と言われました。

パッケージもForce.com IDEも駄目。同じことをSpring '12の時期にもやっていたような気がする…でも、Dev環境取得する時点でAPI選べないのでどうにもなりません。

で、エラーを細かくチェックしていくと、

  • カスタムオブジェクトやレイアウトに関しては移植可能
  • エラーが出るのはVisualforce, Apex, Triggerなどのメタファイル

という状態でした。

ということでwork around。

  1. 稼働環境用サンドボックスへカスタムオブジェクトやレイアウトをすべて移植
  2. 同サンドボックスへ手動でVisualforce, Apex, Triggerをコピペ
  3. サンドボックスから本番環境へDeployment
まぁ当たり前の手順ですけども、ハマった方のご参考になれば幸いです。

なお、今回ソース数本だったので手動で対応できましたが、本数が多いと依存関係もあって大変です。とりあえずは以下の順番でコピペしてみます。
  1. Trigger
  2. 通常のApex
  3. Visualforce
  4. テストコード
ひっかかったら適宜入れ替えます。また、どうしても依存関係が解消できない場合には、先にクラス名定義だけコピーしておいて、あとから実装部分をコピーするという方法もあります。最後の手段として、ソースの数だけブラウザにタブを開いておいて、依存関係のないところから片っ端からQuick Saveして少しずつ埋めていく、なんてのもあります。

申し遅れましたが、この手の作業はForce.com IDEよりもブラウザ経由の方がレスポンスが良くて作業しやすいような気がします。