Proxied and SOLO Application
この章はSOLOとProxiedの違いをまとめているようです。簡単に言ってしまうと、サーバモジュールがいるものをProxied、いらないものをSOLOって分けているみたい。
私は勘違いで、コンパイルされているものがSOLOで、されていないものがProxiedって勘違いしていました。
とりあえずいろいろ試してみました。
<!-- HelloSOLO.lzx --> <canvas proxied="false"> <text>Hello SOLO</text> </canvas>
こいつをブラウザでアクセスすると、同じディレクトリにHelloSOLO.lzx.swfが出来上がります。
<!-- HelloProxied.lzx --> <canvas proxied="true"> <text>Hello Proxied</text> </canvas>
こいつは出来ない。
<!-- HelloInherit.lzx --> <canvas proxied="inherit"> <text>Hello Inherit</text> </canvas>
こいつは、値を引き継ぐらしい、どうやらクエリパラメータ(lzproxied)に依存するのか・・・。
実際にアクセスすると下記のようにでるようです。
HelloInherit.lzx?lzproxied=false | できる |
HelloInherit.lzx?lzproxied=true | できない |
HelloInherit.lzx | できない |
じゃ、うえのSOLOとProxiedはというと
HelloSOLO.lzx?lzproxied=false | できる |
HelloSOLO.lzx?lzproxied=true | できない&怒られる(warning) |
HelloSOLO.lzx | できる |
HelloProxied.lzx?lzproxied=false | できない&怒られる(warning) |
HelloProxied.lzx?lzproxied=true | できない |
HelloProxied.lzx | できない |
なるほどね。ちなみにproxiedを指定しない場合は、inheritと同じみたいです。結局何もつけなくても普通に作るうえでは問題って出てこないんじゃないかな?ちがってます?
で、ここまでやってきたのですが、出来上がるファイルが*.lzx.swfっていけてないような気がします。しかも、ブラウザでアクセスすると出来上がるってのもいけてない・・・。開発時はともかく、デプロイ時までぶらうざアクセスですか?
やっぱりありました。手動でのコンパイル。WEB-INF/lps/server/binの中にそれらしいものが・・・。でも私の環境じゃ動かない・・・なぜだ?でもバッチファイルの中を見てみるとどうやらJavaのMainを読んでいるだけなんですよね。じゃ、こいつをANTタスクにして見ましょう。
ANTタスクはもうちょっとカスタマイズしてから公開します。
で、build.xmlはこんな感じになります。
<target name="lzc"> <taskdef name="lzxcompile" classname="LaszloTask"> <classpath> <fileset refid="classpath"/> </classpath> <lzxcompile srcdir="lzx" includes="**/*.lzx" destdir="swf" lpsHome="C:\OpenLaszlo Server 3.1\Server\lps-3.1cr1"/> </target>
で、都合よくタスクをスタート!!
は時間が無いので・・・・ここからは明日以降ってことで・・・。