wordpress の 2.7 がでていたのでアップグレードしろって出てるのが
ずっときになっていて(うざかったってのも実はあるかもw)
というわけでさっそくアップグレードしてみた。
方法は凄い簡単でびっくりした。
ってか勘でやったんで何があっても保証しませんのでご了承下さい。
バックアップとってからすることをオススメします。
新しく wordpress 2.7 をダウンロードしてきて解凍します。
その中に移行前のフォルダから wp-config.php と wp-content を移動します。
これだけでいいの??と思いつつ起動してみるとこれだけでしたw
ただ DB の更新があるみたいです。
管理画面にアクセスするとこんな画面が表示されます。

で、「wordpress をアップグレード」を選択するとすぐに更新され無事にアップグレードの終了。
プラグインも何も設定せずに今までと同じように使えます。
少しインターフェースが変わったためなれがいるけど前よりさくさく動くしいい感じ。
まだアップグレードしてない人はすることをオススメします。
投稿したつもりが実は新しくページを作ってて少しハマったってのは内緒ですw
アマゾンのサーバでエラーが起こっているかもしれません。一度ページを再読み込みしてみてください。
正直駄文です。
今のプロジェクトのPMが間に合わないからと消息をたちました。
なんともはや、、、、そして炎上
めんどくさいなぁ〜。ほんとに。
ま、それはそうとして
最近 Flex でチャートを作ってるんで
そのポイントポイントで書いてこうと思います。
これ地味にあついと思われる。
Flex の情報ってほんとみかけないんで。
特にバナナ研究所さんにお世話になりました。
そのため少しアピっときますw
今後、
Flex シリーズがはじまり
i-phone シリーズに行き
Processing シリーズの記事で今年が終わるのってが理想。
iphone app 2つくらい作りたいなぁ〜と。。。
あとはおもしろいのネタが少しできたので、それをやろうかと妄想中。
近々、声かけることになろ〜かと思います
[Flex][AIR] Adobe Flex 3 リファレンスガイドがダウンロード出来るようになりました。
を発見したのでさっそく以前に設置したものを最新のに変更してみた。
ちなみに前回は英語のリファレンスだったため、凄い便利になった。
最新のリファレンス探したりするだけでもめんどかったってのもあるけど。
新規に設置
LiveDocs をローカルに置くに詳細がのってるんでそのままやれば大丈夫。
以前もここを参考にして設置しました。感謝感謝。
既存の index をはりなおす
あってるかどうかは不明だけど、とりあえずこの順番でできた。
することは前の index を削除して最適化して新しく張り直す感じです。
メモも兼ねて細かいめで書いてます。環境は人によって違うのでパス系は気をつけてください。
[階層]
. <= /var/www/flex-doc
|-- langref
|-- flex3jp_documentation.zip (<- ここを DL するところから書いてる)
|-- flex3jp_documentation
|-- langref
/var/www/hyperestraier/flex3langref に hyperestraier の index がある。
/var/www/flex-doc/langref に referece の html がある。
estseek.*(config, cgi とか) は /var/www/flex-doc/langref/ 以下にある。
#documentの取得
$wget http://livedocs.adobe.com/flex/3_jp/flex3jp_documentation.zip
#解凍
$unzip flex3jp_documentation.zip
$cd flex3jp_documentation/langref
#estseek の設定ファイルのコピー
$cp -r /var/www/flex-doc/langref/estseek.* .
#昔のファイルを削除(いる場合や不安な場合はどっかにバックアップとっといて下さい)
$rm -rf /var/www/fles-doc/langref
#index の削除
$ estcmd purge -cl /var/www/hyperestraier/flex3langref
#index の最適化
$estcmd optimize /var/www/hyperestraier/flex3langref
#reference の移動
$mv /var/www/flex-doc/flex3jp_documentation/langref /var/www/flex-doc/langref
#index 作成
$estcmd gather -cl -il ja -bc -sd -cm /var/www/hyperestraier/flex3langref /var/www/flex-doc/langref
ちなみに同じところに置いたのは conf のパスをかえたりするのがめんどくさかっただけという理由w
flex3 => flex3.2 だし別にいっかなとw
estseek.cgi にアクセスすると無事に検索することができました。
めでたしめでたし。
ちなみにこんな感じで検索することができます。
AutoPagerize に対応してくれているのが便利です。

階層
.
|-- data.xml
|-- Test.as
Test.as
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| package {
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.display.Sprite;
import flash.events.Event;
public class Test extends Sprite {
private var XML_URL:String = "http://example.com/data.xml";
public var loader:URLLoader = null;
public function Test() {
loader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onXMLLoaded);
loader.load(new URLRequest(XML_URL));
}
private function onXMLLoaded(e:Event):void {
trace(loader.data);
}
}
} |
実行コマンド
これで http://localhost:3001/ にアクセスすると XML を読み込む swf が表示される。
で、ここからが問題。
URLLoader を使って外部リソースの読み込みを行う際に XML_URL を相対パスで指定すると
loader.data の中身が SWF を埋めこんでる HTML になります。
<html>
<head>
<title>Rascut</title>
<style>
* {
margin:0;
padding:0;
}
#content {
text-align:center;
}
</style>
<script type="text/javascript" src="/js/swfobject.js"></script>
<script type="text/javascript">
var Rascut = new Object;
Rascut.xhr = (function() {
if (typeof XMLHttpRequest != 'undefined') {
return new XMLHttpRequest();
} else {
try {
return new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
})();
Rascut.reloadObserver = function() {
var x = Rascut.xhr;
x.open('GET', '/reload?' + (new Date()).getTime(), true);
x.onreadystatechange = function() {
try {
if (x.readyState == 4) {
if (x.status == 200 && Number(x.responseText) == 1) {
// thanks os0x!
so.attributes.swf = so.attributes.swf + '+';
so.write('content');
Rascut.reloadObserver();
} else {
setTimeout(Rascut.reloadObserver, 5000);
}
}
} catch(e) {
setTimeout(Rascut.reloadObserver, 5000);
}
}
x.send(null);
}
Rascut.swf = function() {
return document.getElementById('idswf');
}
Rascut.reloadObserver();
</script>
</head>
<body>
<div id="content"></div>
<script type="text/javascript">
var so = new SWFObject("/swf/Test.swf?" + (new Date()).getTime(), "idswf", "100%", "100%", '9', '');;
window.onload = function() {
so.addVariable('rascut', 'true');
so.write("content");
}
</script>
</body>
</html>
原因は簡単で、相対パスで指定すると HTTP ベースなので
http://localhost:3001/data.xml を取得しにいきます。
直接アドレスバーで叩くとわかりますけど http://localhost:3001 に
アクセスした時の HTML が返ってきます。
で、考えた対策
(1). XML_URL を file://〜 で指定
(2). localhost に apache(web server) をたててそこにアクセス(レンタルサーバとかでもおk)
(3). グローバルセキュリティの設定を許可(*)して data.xml にアクセスできるようにし flash player で起動
の3通り。
それぞれ試した結果
(1) はセキュリティサンドボックスのエラーが出て厳しそう。
(追うのがめんどくさくなったw おそらく securityLevel 周りをいじればいけそう)
(2) これはすぐにできた。一番、無難そう。
ただ別ドメインに置く場合は crossdomain.xml をドキュメントルートに
置いておかないとロードすることができないので注意。
(ちなみに flash player 10 で 9 の時と変わってたので、
少し結構はまりました。crossdomain については後々まとめるつもり。)
(3) てっとり早いけど、rascut の恩恵が少なくなる。
確認のために毎回起動するってめんどくさい。
というわけで、(2) と (3) を満たすように変更してみた。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| package {
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.display.Sprite;
import flash.events.Event;
import org.libspark.utils.Dumper;
public class Test extends Sprite {
+ private var XML_URL:String = "data.xml";
public var loader:URLLoader = null;
public function Test() {
loader = new URLLoader();
+ var host:String = '';
+ if (this.root.loaderInfo.parameters.rascut)
+ host = 'http://example.com/';
loader.addEventListener(Event.COMPLETE, onXMLLoaded);
+ loader.load(new URLRequest(host + XML_URL));
}
private function onXMLLoaded(e:Event):void {
trace(loader.data);
}
}
} |
変更した場所は + をつけてます。
これで少しは快適に読み込みできるようになったかな。
3001 ポートでそのままリソースにアクセスできればベストなんだけどな〜
そのうちコード見てみることにする。
ちなみに設置した crossdomain.xml はこんな感じ。
<?xml version="1.0"?>
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="*"/>
</cross-domain-policy>
site-control を追加しないと flash player 10 だと下記のようなエラーがでて読み込めないので注意
警告 : ドメイン cdn.slideshare.net にはメタポリシーが指定されていません。デフォルトのメタポリシー 'master-only' を適用しますが、この設定は推奨されていません。こ
の問題の解決方法については、http://www.adobe.com/go/strict_policy_files_jp を参照してください。
(*)グローバルセキュリティの設定でセキュリティを緩和したいファイル or ディレクトリを追加すれば OK
HDD 入れ替えで /Library とかをいれなおしたために trace 出力や flashswitcher が
動かなくなってることに気づいた。
このくそ忙しい中に環境作りなおすはめに。
覚えてないんで無駄にハマった。。。orz
もぉはまりたくないので memo を残しとくことに。
ちなみに環境は Mac OS 10.5 です。
mm.cfg に設定を書いて trace がファイル出力されるようになる。
設置場所は /Library/Application\ Support/Macromedia/,
/Users/[username]/ のどちらでも確認はとれた。
mm.cfg の内容
1
2
| ErrorReportingEnable=1
TraceOutputFileEnable=1 |
1
2
| PolicyFileLog=1
PolicyFileLogAppend=1 |
これをいれてしまうと動かない。
それでダダはまり。
flashswitcher は前記事を参照<mac で flashswitcher を使う時の注意点>
HDD いれかえた後にシステムいれなおしたのがあだとなった。
あと mac だと Flex Builder のプロファイラが動かないっぽい。
プロファイラがないとパフォチュで凄い不便すぎる。
何か良いのないかなぁ〜
参考資料
MacでFlashPlayer9のTraceが出力されない問題解決 その2
Flash Player 9,0,115,0 で mm.cfg の位置が変わってますよー (Mac)
デバッガ版の Flash Player の構成