<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>symmetricsブログ</title>
		<link>http://www.synju.com/bh-ss/</link>
		<atom:link href="http://www.synju.com/bh-ss/" rel="self" type="application/rss+xml" />
		<description></description>

		
		<item>
			<title>一番簡単な「メンバー専用ページ」の作り方</title>
			<link>http://www.synju.com/ss-100708/</link>
			<description>&lt;p&gt;Nicolaas Franckenという方が、sunny.svnrepository.com-membersonlypages-r2003.tar.gzというファイルでモジュールを公開されています。このモジュールが、一番簡単ではないかと思います。2010/5/6日現在、リビジョン番号はr2003のようですが、日々更新されていきますので、この部分は変わっていきます。&lt;/p&gt;
&lt;p&gt;まず中身を展開して、そのトップディレクトリーの名前を「membersonlypages」のように短くして、mysiteと同じレベルのディレクトリに置きます。あとは、mysite/_config.php内の最後にでも、以下の３行を追加します。&lt;/p&gt;
&lt;pre class=&quot;brush: php;&quot;&gt;MembersOnlyPage::set_group_code(&quot;intranet-users&quot;);&lt;br /&gt;MembersOnlyPage::set_group_name(&quot;intranet users&quot;);&lt;br /&gt;MembersOnlyPage::set_permission_code(&quot;INTRANET_USERS&quot;);&lt;/pre&gt;
&lt;p&gt;さらに、展開したモジュール内(例えば「membersonlypages」)のcode/MembersOnlyPage.php内で設定されている「static $icon」のパス名を変更するか、設定されているパスにアイコンをコピーするなどをしておきます。そして、MembersOnlyPageクラスに対するページ・テンプレート「MembersOnlyPage.ss」を、使用しているテーマのtemplateフォルダに作成しておきます。&lt;/p&gt;
&lt;p&gt;これで、dev/build?flush=1を実行させ、その後ログインしてSilverstripeの管理メニューのセキュリティタブを開くと、上記のグループが登録されています。そこでアクセスできるID(メールアドレス)とパスワードを登録しておけば、OK。&lt;/p&gt;
&lt;p&gt;つぎに、新規ページを作成する際に、「Page」ではなく、「Members Only Page」を選んで作成します。このページの「メタデータ」タブを開き、URLを「http://www.yoursite.com/members-only/」のようにしておきます。&lt;/p&gt;
&lt;p&gt;保存して公開すると、そのURLでページにアクセスする際に、「このページはセキュリティで保護されています。証明書キーを下記に入力してください。こちらからすぐに送信します」というメッセージのあるログイン画面になります。そこで登録しておいたID(メールアドレス)とパスワードを入力すれば、専用ページを表示させることができます。&lt;/p&gt;
&lt;p&gt;このメッセージは英語の直訳のようで少々気持ちが悪いと思う方は、sapphire/lang/ja_JP.php内にある$lang['ja_JP']['Security']['NOTEPAGESECURED'] の日本語を変更すればいいでしょう。「こちらからすぐに送信します」という言葉はいらないですね。なにを送信するの？と考えてしまいます。&lt;/p&gt;
&lt;p&gt;色々なMembersOnlyPageを作りたい場合、このモジュール内のMembersOnlyPagesクラス名などを全部変更して新しい専用Page名を作成できるようにして、さらに前述の３行を新しいクラス名に置き換えたものを追加することになります。&lt;/p&gt;
&lt;pre class=&quot;brush: text; gutter:false; highlight:[1,2,3,4,5,6,7,8,9,10,11];&quot;&gt;&amp;nbsp;
 追記:
   長々と説明してありますが、何もしなくてもメンバー専用ページを作れました。
   CMSにログインして、「セキュリティ」メニューから新しいグループを作成して
   メンバーを登録します。メンバー専用ページを作成する際、「アクセス」タブを
   開いて、「この人達だけ」を選んで、そこに先ほどのグループを指定するだけです。
   さらに、「動作」タブを開いて、「メニューに表示しますか？」のチェックを外し、
   「検索に表示しますか」のチェックも外しておきます。これだけでOKなのですが、
   なぜこんなモジュールがあるのか不思議ですね。
   結局、このモジュールは使う必要なんて無かったという事ですね。
&amp;nbsp;
&lt;/pre&gt;</description>
			<pubDate>Thu, 08 Jul 2010 17:53:00 +0900</pubDate>
			
			
			<guid>http://www.synju.com/ss-100708/</guid>
		</item>
		
		<item>
			<title>silverstripeでもwp-cumulus 1.23を動かしたい</title>
			<link>http://www.synju.com/ss-100224/</link>
			<description>&lt;p&gt;silverstripeでも、WP-Cumulus 1.23を日本語で動かしたいと思います。そこで問題となるのが、こういうところ。Requirements::javascript()を使ってswfobject.jsの場所を指定するのですが、その展開コードが勝手に違う位置に移動してしまう場合があります。同じページに他のRequirements::javascript()を使われていた場合は、まとめて移動させられてしまいます。例えば、RECAPTCHAなどのスパムプロテクトをコメント欄に設定していた場合、それにもjavascriptが使用されていますので、ブログサマリーにあるcumulusタグクラウドは表示されるのに、ブログにあるcumulusタグクラウドは表示されないといった現象に見舞われました。&lt;/p&gt;
&lt;p&gt;そのため、Requirements::javascript()を使わずに、自分でscriptタグを作成しなければなりません。また、wp-cumulusのバージョン1.23では、hrefの指定は必ず&quot;http&quot;からのURLで設定しなければなりません。しかも、そのままでは漢字コードがシフトJISに変換されてしまいます。この対策として、Tag.as内のmouseUpHandler関数で使われているURLRequestに渡すURL文字列をencodeURIで強制的にUTF-8に変換しないとダメでした。結構面倒くさいものですね。もっとよい方法があるかもしれませんが、Actionscriptを全く使ったことのない初心者ですので、こういう単純なことしか思いつきません。Ubuntuサーバーで使用するので、日本語フォントは「Takao Pゴシック」を埋め込んで、ようやく動作できる程度になりました。silverstripeのCumulusWidgetを改造した日本語版をアップしておきます。インストール方法は他のWidgetと同様でsilverstripeのトップディレクトリーに展開して、～/dev/build?flush=1のおまじないでOKです。後は、silverstripeにログインしてBlogTreeの「Widgets」タブでcumulusの設定をするだけです。英語版のCumulusWidgetはタイトルの変更ができませんでしたので、改造版にはタイトルを自由に設定できるよにしておきました。日本語フォントを埋め込んでいるため、tagcloud.swfのサイズは1.8MBとかなり大きいものです。なお、現在は背景色を指定しても反映されません。&lt;a href=&quot;http://www.synju.com/download/&quot;&gt;[ダウンロードはこちらで]&lt;/a&gt;&lt;/p&gt;</description>
			<pubDate>Wed, 24 Feb 2010 15:22:00 +0900</pubDate>
			
			
			<guid>http://www.synju.com/ss-100224/</guid>
		</item>
		
		<item>
			<title>silverstripe 2.3.5でスタイル項目が空っぽになっていますが。</title>
			<link>http://www.synju.com/ss-100203/</link>
			<description>&lt;p&gt;試験的にsilverstripe　2.3.4、2.3.5、2.4.0-alpha1をインストールして動作確認をしたのですが、いずれも「スタイル」項目が空っぽになって、何も選べない状態になっています。これではワープロ感覚で内容を作成する事もできません。silverstripeのフォーラムを探しても、このような話が無いので、きっと皆さんは大丈夫なのでしょうね。自分だけがこういう現象になっているのでしょうけれど、何とかしたいと思います。その方法は、CMSのHtmlEditorConfigクラスを使ってデフォルト値を設定している処理を、silverstripe 2.3.3と同じところに戻す方法。&lt;/p&gt;
&lt;p&gt;silverstripe 2.3.3から2.3.4にバージョンアップした際に、LeftAndMain.phpの中で処理されていたHtmlEditorConfigクラスでのデフォルト値・設定処理が、cms/_config.phpの中で実行するように変更されています。しかも、getだけでset_active(&quot;cms')が無いのです。これでデフォルト値が設定できるのか不思議ですが、それを追加しても、この現象は解決されませんでした。&lt;/p&gt;
&lt;p&gt;そこで、改造したことによる副作用を無視して、あえてsilverstripe 2.3.3と同じ処理になるように変更しました。cms/_config.phpはそのままにして、LeftAndMain.phpの中にデフォルト値設定処理を移します。とりあえず、この方法で変更すると「スタイル」項目が現れて、ワープロ感覚で内容を作成することができます。この変更したLeftAndMain.phpは、2.3.4、2.3.5、2.4.0-alpha1でも使えます。これで、なんとか時間稼ぎをして2.4.0の正式バージョンを待とうと思います。&lt;/p&gt;
&lt;p&gt;同じ現象の人がいるかもしれませんので、変更した「LeftAndMain.php」をダウンロードできるようにして置きますが、無理やり改造しているので動作の保証はできません。&lt;/p&gt;
&lt;p&gt;その他に、2.3系の「blogtree」が入っているブログモジュールを置いておきます。最近のブログモジュールはバージョン2.4対応なので、silverstripe 2.3系に組み込むとエラーになります。&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;&lt;a href=&quot;http://www.synju.com/download/&quot; title=&quot;downloadへ&quot;&gt;[&amp;nbsp; ダウンロードはこちらで ]&lt;/a&gt;&lt;/p&gt;</description>
			<pubDate>Wed, 03 Feb 2010 11:01:00 +0900</pubDate>
			
			
			<guid>http://www.synju.com/ss-100203/</guid>
		</item>
		
		<item>
			<title>silverstripe 2.4-alpha1でも直っていない？</title>
			<link>http://www.synju.com/ss-100125/</link>
			<description>&lt;p&gt;先月でしたか、ImageGalleryモジュールで日本語フォルダが生成されない原因が、sapphireフレームワーク側にあるFile.php内のsetName関数で処理されている文字列チェックにあると考えて、自分用に修正して使っています。ところがソースを眺めてみると、silverstripe 2.4-alpha1でも直っていませんでした。ひょっとしたら違うところに原因があるのかも。&lt;/p&gt;
&lt;p&gt;もし、sapphireが原因だとするとImageGalleryモジュールだけでなく、sapphireを経由してフォルダを作成するようなモジュールは、全て同じ問題に直面する可能性があります。silverstripeの開発者の中には中国人の方もいたように思いますので、こういう問題はすぐに解決できるはずですが、2.4-alpha1でも修正されていないということは、そもそも違う原因だったかもしれませんね。今は違う原因を探す時間が無いので、2.4-alpha1でも自分用に修正しておかなければなりません。今は金欠病でsilverstripeの洋書を気軽に購入もできず、すっきりしない何かが溜まりつつあります。本当の原因はどこなのでしょうか？&lt;/p&gt;</description>
			<pubDate>Mon, 25 Jan 2010 12:55:00 +0900</pubDate>
			
			
			<guid>http://www.synju.com/ss-100125/</guid>
		</item>
		
		<item>
			<title>ErrorPageがうまく表示できない原因はここか？</title>
			<link>http://www.synju.com/ss-100123/</link>
			<description>&lt;p&gt;silverstripe 2.3.3でも、独自のエラーページが作成できるのですが、そのエラーページは、サーバー上でしか正しく動作しないようです。他のサイトからみるとsilverstripe標準のエラーページが表示されて、自分で作成した独自のエラーページが表示されません。原因はどこに？&lt;/p&gt;
&lt;p&gt;まだ、はっきりとは判明しないのですが、回避方法をメモしておきます。根本的な原因がわからないので、とりあえず、こういう方法でなんとかしておきましょう。&lt;/p&gt;
&lt;p&gt;まず、silverstrieで普通に404-エラーページを作成します。「保存して公開」すると、assetsフォルダにerror-404.htmlというファイルが作成されます。404エラーになると、ブラウザーはこのerror-404.htmlを表示するようです。ところが、他からアクセスするとcssが読み取れずにテキストのみの表示になってしまいます。その原因は、error-404.htmlの中には「localhost」が埋め込まれてしまうため。これじゃ、サーバー以外から表示しようとしても無理な話。それで、エディタ等を使用して、この「localhost」をサーバー自身のURLに置き換えてしまえばどうかと。&lt;/p&gt;
&lt;p&gt;これで、サーバー以外からアクセスしても独自のエラーページが表示されることになります。しかし、エラーページの内容を変更して、再び「保存して公開」させると、error-404.htmlが置き換わってしまいますので、もう一度、エディタを使って自分で修正する作業をしなければなりません。これは、めんどくさいですね。&lt;/p&gt;
&lt;p&gt;silverstripe殿！次のバージョンでここも何とかしてくれませんか？&lt;/p&gt;
&lt;p&gt;と、すぐにsilverstripeのせいにしたくなるのですが、インストールする際に「localhost」ではなく、URLを設定しておけば、このような事は無かったのでしょう、きっと。（そのような設定があるのか調べていませんが....）&lt;/p&gt;
&lt;p&gt;ただ、最近ではブラウザーに色々なプラグインをいれていると、そのプラグインが勝ってに作成したエラーページを表示しようとするので、silverstripeで独自のエラーページを作っても、努力が水の泡になっていることもあります。プラグインよ！自分の機能だけに専念せよ！余計な事はしてくれるな！と、自分の中心で「ちくしょう」と吠える。&lt;/p&gt;</description>
			<pubDate>Sat, 23 Jan 2010 13:29:00 +0900</pubDate>
			
			
			<guid>http://www.synju.com/ss-100123/</guid>
		</item>
		
		<item>
			<title>悪質なFTPへの不正アクセス、中国から2時間15分も。</title>
			<link>http://www.synju.com/ss-100112/</link>
			<description>&lt;p&gt;朝起きたら、FTP不正アクセスされている最中でした。また中国からですが、今度は相当悪質です。いつまで攻撃されるのかと思っていたら、７時３７分～９時５２分までの２時間１５分も、ずっとFTPサーバーに不正アクセスをして行きました。この不正アクセスログだけで、なんと８万３２００行です。&lt;/p&gt;
&lt;p&gt;しかも、&quot;no such user 'admin' &quot;の山です。adminユーザーだけで不正アクセスをしているので、FTPのユーザー名とパスワードを盗んでホームページ改竄という手口ではなく、ネットワーク回線を遅くさせようとする狙いかもしれません。どうも、アクセス元は、北京に本社を置く「china mobile」の支店で、「Yangzhong」という人口４０００人程度の田舎にある中国銀行ビルの5階にある支店のようです。ここ、７個のIPしか持っていませんが、その一つからの不正アクセスでした。おそらく、そこにあるサーバーを誰かがハッキングして、それを踏み台にしている感じだと思います。きっと管理者パスワードが盗まれたのでしょうね。中国語は分からないので、教えることもできないのですが、FTPなのでIP拒否するしかないでしょう。こういう簡単な手口で不正アクセスする人たちを「安物ハッカー」と名ずけたサイトを見ましたが、なかなかいい呼び名です。&lt;/p&gt;
&lt;p&gt;変なアクセスが多いと、同じ回線を使用している方々に迷惑がかかりますので、FTPに関しては@niftyと同様に「海外からのアクセス、全面禁止」にしなければ。とりあえず、北京は全面禁止にして様子を見ることにいたします。&lt;/p&gt;</description>
			<pubDate>Tue, 12 Jan 2010 10:36:00 +0900</pubDate>
			
			
			<guid>http://www.synju.com/ss-100112/</guid>
		</item>
		
		<item>
			<title>silverstripeでのページの見分け方</title>
			<link>http://www.synju.com/ss-100111-3/</link>
			<description>&lt;p&gt;silverstripeで利用している、この「ブログ」モジュール。BlogTreeやBlogHolder（ブログサマリー）のページでは、記事検索ができません。キーワードなどを入力するとエラーの画面が表示されてしまいます。そこで、BlogTreeとBlogHolderのページを表示する場合には、記事検索フォームは表示しないほうがいいと思います。&lt;/p&gt;
&lt;p&gt;そこで、silverstripeのtemplateではどのように書けば？という事ですが、このようにも書けました。blackcandyテーマの場合は、blackcandy/templates/Page.ss内の$SearchFormを以下のような条件文の下に入れます。&lt;/p&gt;
&lt;pre class=&quot;brush: html;&quot;&gt;	&amp;lt;% if ClassName == BlogTree %&amp;gt;
	&amp;lt;% else_if ClassName == BlogHolder %&amp;gt;
	&amp;lt;% else %&amp;gt;
		$SearchForm
	&amp;lt;% end_if %&amp;gt;
&lt;/pre&gt;
&lt;p&gt;これで、BlogTreeとBlogHolder(ブログサマリー)のページには、記事検索フォームは表示されません。CやPHPの比較演算子は色々ありますが、silverstripeで限られています。しかも論理演算子の&amp;amp;&amp;amp;はCやPHPのように動かない場合もあり、結局、試行錯誤して&amp;lt;% if %&amp;gt;、&amp;lt;% else_if %&amp;gt;、&amp;lt;% else %&amp;gt;を使うしかないとは。多分、silverstripeのparse機能の問題だと思うのですが、ちょっと愚痴をこぼしてしまいました。&lt;/p&gt;
&lt;p&gt;ついでにもう一つ、愚痴を言っておきましょう。silverstripeの使い方を調べていくと、どうも頭がすっきりとしないのですね。まあ、PHP初心者の自分だけでしょうが、結局、「sapphire」というPHPのフレームワークの使い方を知らないと頭はすっきりしないでしょうね。様々なPHPのクラスとインスタンスを、如何にしてMYSQLデータベースに保存するかという基本を知らないと、silverstripeを使って凝った機能を追加することは難しいと思います。silverstripeとsapphireの関係をうまく表したドキュメントはどこにあるのでしょうか。年末に出版された洋書を読まないとダメなのかな？&lt;/p&gt;</description>
			<pubDate>Mon, 11 Jan 2010 15:25:00 +0900</pubDate>
			
			
			<guid>http://www.synju.com/ss-100111-3/</guid>
		</item>
		
		<item>
			<title>ネットワークのリアルタイム監視</title>
			<link>http://www.synju.com/ss-100111-2/</link>
			<description>&lt;p&gt;サーバーでの作業中や、サーバーでブログを更新しようとしている場合であれば、今、自分のサーバーが攻撃されているかどうかがわかります。もっとも簡単な方法、それは目で見る。&lt;/p&gt;
&lt;p&gt;Ubuntu9.04サーバーに、自分でgnomeを入れた場合、「システムモニター」をパネルに置いておけばいいのです。そして、パネル上の「システムモニター」の上で右クリックをして「設定」を選びます。そうすると、監視するリソースが選べて、その中に「ネットワーク」があります。そこには、「受信」、「送信」、「ローカル」でそれぞれに色分けしてパネル上に表示されるように指定できる機能があります。そうするとパネル上に、棒グラフが右から左へと流れていき、受信、送信が色分けされて見えます。棒グラフなので「通信量」の「感覚」もわかります。もちろん頻繁にアクセスを受ける人気サイトだったらダメですよ、常時アクセスされているわけですから。ただ、深夜など静まったときに不正アクセスが多いので、そういう場合には目で見えると安心します。&lt;/p&gt;
&lt;p&gt;こういうアナログ的な表示が、結構いいのです。便利とは言いませんが、ネットワークから「何か変なのが来た」ことがすぐ分かります。もちろん作業していなければわかりませんが、していればすぐにどこから、どんな不正アクセスか分かりますし、攻撃者のIPが変わる前に「反撃」しようと思えばできます。まあ、反撃する暇は無いのですが、反撃スクリプトなどを作れば、攻撃を受けた直後に、すぐ反撃スクリプトを起動させることも。&lt;/p&gt;
&lt;p&gt;ちなみに、「システム」&amp;rarr;「システム管理」&amp;rarr;「システム・モニタ」で開いても、前述のような設定はできません。パネルにあるシステムモニターの「設定」です。&lt;/p&gt;
&lt;p&gt;昔読んだ雑誌に、不正アクセスを受けたら、I/Oポートにアラームを設定するようにして、そのI/Oポートにはパトカーの上などにある「回る警告灯」のリレーを接続し、部屋じゅうに色々な色の警告灯が回っているようなツールを作った人の記事を読んだ記憶があります。&lt;/p&gt;
&lt;p&gt;今だったら、監視ロボットを作って、不正アクセスを受けたら、「ただいま中国からFTPに不正アクセスを受けました、自動的に反撃いたします」などと「音声」で確認するようなツールを作ったほうがいいかな。反撃に反撃されたら、もう、サイバー戦争になりそうですね。お互いに攻撃元がわからないようにステルスしているでしょうから、被害を受けるのは当事者以外だけになるかも。&lt;/p&gt;
&lt;p&gt;実際に、攻撃する人物(国)がいるわけですし、現実に、攻撃されているわけです。「反撃する武器もないので、どうぞ、ご自由に攻撃してください。」という、日本憲法の状態では問題は解決しない、と思わなければいけません。　あれ？話がずれてきました。hiroブログの影響でしょう。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
			<pubDate>Mon, 11 Jan 2010 14:14:00 +0900</pubDate>
			
			
			<guid>http://www.synju.com/ss-100111-2/</guid>
		</item>
		
		<item>
			<title>新年早々にメールサーバーへのいたずらとは</title>
			<link>http://www.synju.com/ss-100111/</link>
			<description>&lt;p&gt;新年はいつのまにか明けてしまいました。明けることが「めでたい」ことだと言うなら、毎日朝が来ることもめでたいということですね。地球が無くならずにまだあることが「めでたい」という感謝の意を表しているのかもしれません。そんな1月なのに、新年早々というよりも年末年始にかけて、メールサーバーへのいたずらが多くなりました。そのほとんどが、台湾yahooにspamメールを送りつけるために中継するメールサーバーになってくれというものです。北京と韓国からは直接攻撃されていますね。&lt;/p&gt;
&lt;p&gt;韓国からは、こちらのメールサーバーを直接攻撃する不正アクセスもあるわけですが、ほとんどが中継させようとするものです。rwhoisなんかでみると、「陳」なんとかという人物が、IPアドレス（しかも国もちがうIP）を変えて、台湾yahooを攻撃するためのもの。台湾yahooに恨みでもあるのでしょうか。それとも中国人なのでしょうか。IPアドレスの国も違うということは、そのIPアドレスも中継してしまったIPかもしれません。台湾本国であったり、米国であったり様々です。なんとなくですが、中国が台湾をサイバー攻撃をしかけようとして、全世界の中継できるメールサーバーを探してアクセスしている感じがしますね。&lt;/p&gt;
&lt;p&gt;おっと、と、と、と....。これを書いている最中に、北京からFTPサーバーを直接攻撃してきました。Administratorユーザーで、５分の間に３４５回のFTPログインをして来ました。こんな回数、人がログインしようとするのではなく、スクリプトなんかでしょうね。おそらく日本にあるFTPサーバーだけ狙い撃ちしているのでしょう。1月１１日の午後１時だから、FTP不正アクセスの時限爆弾でもしかけたのでしょうかね。@niftyは昨年の１１月末から海外からのFTPアクセスを禁止した処置をとりましたが、ほかのプロバイダーも注意したほうがいいでしょう。きっと、これもFTPを使ってホームページを改竄させる手口でしょうね。&lt;/p&gt;
&lt;p&gt;しかしねえ、１回のAdministratorユーザーで「no such user」になるわけですから、３４５回もアクセスする必要は無いと思うのですが...。1回の不正アクセスログだったら見逃すかもしれませんが、３４５回も「no such user」がログに並べば、すぐわかるじゃありませんか。Administratorユーザーが存在した場合に、パスワードをあれこれ変化させてアクセスを試みるなら、まあ何千、何万回もアクセスしてくるでしょうが、「そんなユーザーはいませんよ」と１回目で拒否しているのに、５分間で３４５回、同じユーザーでログインとは、頭の悪いスクリプトを作ったものです。&lt;/p&gt;
&lt;p&gt;悪質なのは韓国からのもので、頻度が多いのは中国からのものだったのですが、こうなると中国も相当に悪質になってきたという事でしょうね。こういう事が多いとインターネットの世界では中国や韓国の評判は悪くなる一方でしょうね。国民の資質が全世界に知れ渡るわけですが、そんな事関係ないのでしょうか。まあ、「軍」が関係しているのかもしれませんが。軍のサイバー攻撃部隊が新人研修のためにやっているようなものかも。&lt;/p&gt;
&lt;p&gt;不正アクセスだって「ログ」にたまるわけですから迷惑なことですよ、本当に。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
			<pubDate>Mon, 11 Jan 2010 12:47:00 +0900</pubDate>
			
			
			<guid>http://www.synju.com/ss-100111/</guid>
		</item>
		
		<item>
			<title>コメントの「承認待ち」って簡単だった...</title>
			<link>http://www.synju.com/ss-091223/</link>
			<description>&lt;p&gt;このsilverstripeのブログ機能で、ずっと前からブログコメントが無条件で承認されるところが気になってしょうがなかったのです。スパムやハッカー等がコメントを利用して悪さをしないようにしたいのに、コメントが無条件で書き込めてしまうのはどうかなあと思っていました。他のブログにもあるような「承認待ち」が無いのかと。&lt;/p&gt;
&lt;p&gt;silverstripeの管理画面の「コメント」タグには、「承認待ち」フォルダもあるのに、コメントを書くと、無条件に全てが「承認済み」になってしまう。なぜ、そうなるのか気になって、管理画面やブログページに何かオプションが無いだろうかと探していたのですが、全然見つかりません。&lt;/p&gt;
&lt;p&gt;もう何週間も気になっていたのですが、ヘルプなどをじっくり検索しましたら、ありました。しかも片隅に！なぜ、もうちょっと、気のきいた説明をしないのでしょうか。管理画面にあってもいいのではないでしょうかね。小さな事ですが、少々腹が立ってきました。あまりにも不親切で。&lt;/p&gt;
&lt;p&gt;という事で、どのようにすればコメントを承認待ちにできるかですが.......。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;それは、&lt;strong&gt;mysite/_config.php&lt;/strong&gt;に、&lt;strong&gt;PageComment::enableModeration(); &lt;/strong&gt;を追加せよ、だって。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;これで、コメントを投稿すると「あなたのコメントを投稿しました。承認されるまでお待ちください。」というメッセージとともに管理画面の「承認待ち」フォルダに入ります。そこで、スパムか削除するか承認するかを決めることができます。承認した場合のみ、コメントが表示されるようになります。&lt;/p&gt;
&lt;p&gt;こんな簡単な事なら、なぜ目立つところに掲載しないのかと腹の立つやら、気持ちがすっきりしませんよ、全く！&lt;/p&gt;
&lt;p&gt;さ、さ、...探し方が悪いって言うのですか？ き、き、気分が悪くなってきました。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;※追記: silverstripeでもコメントの承認待ちができる事を確認しましたが、承認するにも手間がかかりますし、時間も無いので通常は外しておいたほうがいいと思います。&lt;/p&gt;</description>
			<pubDate>Wed, 23 Dec 2009 02:30:00 +0900</pubDate>
			
			
			<guid>http://www.synju.com/ss-091223/</guid>
		</item>
		
		<item>
			<title>まだ、どこからもリンクされずに隠れているはずなのに</title>
			<link>http://www.synju.com/ss-091221/</link>
			<description>&lt;p&gt;変ですねえ。ここは準備中で内容もほとんど埋まっていないので、まだGoogleにも登録していません。不正アクセス以外は無いはずと思っていたのですが。なんとGoogleのbotが来ました。登録もしていないのに来てしまうんですか？&lt;/p&gt;
&lt;p&gt;まさか、早く更新しろ！という催促では？と人間は思うでした。相手はプログラム。自動で検索しているだけなんですがね。なんか画像だけをアクセスして行ったようです。っと思いきや、何でブログだけアクセスして行くの？なぜワシントンのアーリントンからブログだけを？そんなbotもあったのですね。ひょっとして、Googleにも登録せず、世界から見えないサイトだけを調べているのかもしれません。まさか、テロリストかどうかを調べているのですか？ここは違いますよ、ホント。まだ、内容が埋まっていないから非公開状態になっているだけですよ。半分ぐらい内容が埋まればGoogleにも登録しますから、かんべんしてください。ああ、早く内容を埋めないといけません。&lt;/p&gt;
&lt;p&gt;さて、最近アップした「構文表の自動生成？」、あれ見てわかる人いる？...いないでしょう、あれじゃ。関数の引数の説明もなければ、どのように使うのかも無い...。最近は時間があまり無いと言わず、もうちょっと生き恥をさらして素人説明を加えないとダメですね、やっぱり。&lt;/p&gt;
&lt;p&gt;いいえ、いいえ、まだ非公開サイトみないなものだから、普通の訪問者など誰も来るはずありません。ゆっくり変更すればいいのです。&lt;/p&gt;</description>
			<pubDate>Mon, 21 Dec 2009 00:59:00 +0900</pubDate>
			
			
			<guid>http://www.synju.com/ss-091221/</guid>
		</item>
		
		<item>
			<title>RoundCubeから今度はzencart狙いですか。</title>
			<link>http://www.synju.com/ss-091215/</link>
			<description>&lt;p&gt;まだ、Googleにも登録していない隠れサイトのようなところにも、今度はチェコ共和国から来ましたね。この変な&quot;Toata dragostea mea pentru diavola&quot;メッセージを残して、「Zencart」のフォルダを一生懸命に探そうとしています。&lt;/p&gt;
&lt;p&gt;ちょっと前までは、「Roundcube」だったのですが、6月ごろに「Zencart」の脆弱性が発表されてから、それを攻撃するものが作られたようです。脆弱性を発表する前は無かった攻撃が、発表してから発生するというのがいつものパターンのようです。このような攻撃を受けた場合、皆さんはどうされているのでしょうか。apacheでIP拒否を設定するのか、FirewallでIP拒否をするのか、両方なんでしょうか。IP拒否リストを作成して設定されているのでしょうか。FTP攻撃のようなものであれば、その国のプロバイダーが割り当てている範囲のIPを全部拒否してもかまわないですが、Webサーバーとなると、全部拒否というわけにはいきません。しかも攻撃者が固定IPでなく、可変IPだったら設定しても無力だと思うのですが....。何時間もアクセスするような悪質なものでなければ、IP拒否を設定しないで、しばらく様子を見るしか無いのでしょうかね。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
			<pubDate>Tue, 15 Dec 2009 13:50:00 +0900</pubDate>
			
			
			<guid>http://www.synju.com/ss-091215/</guid>
		</item>
		
		<item>
			<title>他のページの内容を持ってくる</title>
			<link>http://www.synju.com/ss-091214/</link>
			<description>&lt;p&gt;「CSS」も知らなかったホームページ作成の素人でも、この程度のホームページがすぐ作れるというのは、やはりsilverstripeの威力なのでしょう。感謝しております。さて、このsilverstrieで作成した一つのページに他のページの内容を持ってくる方法をメモしておきます。&lt;/p&gt;
&lt;p&gt;その「一つのページ」のページタイプを記述しているsilverstripe(～.ss)のファイルを見つけます。例えば、「テーマ/template/Layout/Page.ss」であれば、その中に追加します。&lt;/p&gt;
&lt;pre class=&quot;brush: html;&quot;&gt;&amp;lt;% if URLSegment == 自分のページのurl %&amp;gt;
	&amp;lt;% control Page(他のページのurl) %&amp;gt;
		&amp;lt;div class=&quot;持ってきたときのcssクラス&quot;&amp;gt;
			$Content
		&amp;lt;/div&amp;gt;
	&amp;lt;% end_control %&amp;gt;
&amp;lt;% end_if %&amp;gt;
&lt;/pre&gt;
&lt;p&gt;これで、ページタイプ「Page」を使っている自分のページに、他のページの内容を持ってこれます。「自分のページのurl」や、「他のページのurl」は、silverstripeの「メタデータ」タブにある「URL」ですが、「http://～」のようなURLではなく、その最後尾の「設定した部分(URLSegment)」です。お間違い無いように。上の意味は、こんなところでしょう。「ページタイプ&quot;Page&quot;を使っているページが表示されたとき、もし、自分のページであれば、指定したページの内容を持ってきて、&quot;持ってきたときのcssクラス&quot;で、その内容($Content)を表示せよ。」という感じでしょうか。&lt;/p&gt;
&lt;p&gt;上記のような条件文を入れて煩雑にしたく無い場合は、新しいページタイプを作って、それで「自分のページ」を作成すれば省けます。例えばPage.ssではなく、MyPage.ssの中に入れればいいだけですので。「持ってきたときのcssクラス」もテーマに入っているものを使うのなら、別にいらないですね。簡単にすると、これだけでした。&lt;/p&gt;
&lt;pre class=&quot;brush: html;&quot;&gt;&amp;lt;% control Page(他のページのurl) %&amp;gt;
	$Content
&amp;lt;% end_control %&amp;gt;
&lt;/pre&gt;
&lt;p&gt;それを早く言えと？&lt;/p&gt;
&lt;p&gt;ちなみに、このページの右上にあるエンブレムのようなちょっと大きなアイコンも、非表示ページにあるものを引っ張ってきて「SideBar」の上に表示させただけのもの。この方法を使えば、「blackcandy」テーマのSideBarの上や下の空きスペースを「Widget」以外でも有効に使えそうです。これは、「blackcandy」テーマをあまり崩さないようにするページへの「小細工」ですので、ご理解の程を。SideBarもレイアウトもヘッダも全部変更してしまったら、「blackcandy」で無くなりますので。&lt;/p&gt;
&lt;p&gt;ただ時間があれば、このブログのページだけでも、全面入れ替えたい気持ちはありますね。せっかく「BlogTree」もあるのでブログ編集者別に全然違うページ・スタイルになるのが望ましいのではないかと。ヘッダもフッタもレイアウトも全く別物になるような、「ブログ専用テーマ」が指定できるといいですね。ヘッダ部分がブログページまでつきまとってくるのは、どうかなと思います。これも「ひとり言」で終わるわけですが...。&lt;/p&gt;</description>
			<pubDate>Mon, 14 Dec 2009 14:20:00 +0900</pubDate>
			
			
			<guid>http://www.synju.com/ss-091214/</guid>
		</item>
		
		<item>
			<title>サイトフォルダの変更について</title>
			<link>http://www.synju.com/ss-091208/</link>
			<description>&lt;p&gt;ubuntu 9.04 serverをインストールすると、LAMP環境が全部入りますので、silverstripeのインストールもそのまま問題なく出来ます。ただ、apacheに「mod_rewrite」を追加しないといけません。そして、普通にインストールすると、apacheのドキュメントルートに、「SilverStripe-2.3.x」というような名前で作成され、事前にsilverstripe用にMySQLのスキーマやパスワードを作らなかったら、「root」とそのパスワードを要求されます。（※ただし、接続の照合順序が&quot;latin1_swedish_ci&quot;になってしまいます。データがunicodeで保存されていても、phpmyadminで見る場合、&quot;latin1_swedish_ci&quot;で参照しないと文字化けします。utf8_unicode_cにする場合は、あらかじめ作成しておく必要があります。）&lt;/p&gt;
&lt;p&gt;まあ、そこまではいいとして、ある程度サイトを作成したら、フォルダ名を変更したくなるのは当然です。silverstripeのフォーラムでも沢山の質問があるようですが、それをまとめると、こうなるようです。&lt;/p&gt;
&lt;p class=&quot;ContentCenter&quot;&gt;（１） 現在の「SilverStripe-2.3.x」フォルダを公開したい新しいフォルダに、&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 隠しファイル「.htaccess」を含めて全部コピーします。&lt;br /&gt;&lt;br /&gt;（２） 新しいフォルダ（例えばNewSite）にある「.htaccess」の中の「RewriteBase &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /SilverStripe-2.3.x」の部分を新しいフォルダ名に変更します。&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 例えば、「RewriteBase /NewSite」のように。&lt;br /&gt;&lt;br /&gt;（３） そしてお約束の、「～/NewSite/dev/build?flush=1」を実行せよ。&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (※「～」はドキュメントルートです）&lt;/p&gt;
&lt;p class=&quot;ContentClear&quot;&gt;ということになっています。&lt;/p&gt;
&lt;p class=&quot;ContentClear&quot;&gt;ところが自分の環境では、これでもダメでした。最後の（３）で、エラーだらけになります。フォーラムを色々みても同じような回答が多くて困り果てていましたが、やっと見つけました。&lt;/p&gt;
&lt;p class=&quot;ContentCenter&quot;&gt;（４） （３）をやってダメなら、/tmp/silverstripe-cache-var-www-NewSite以下のファイルを&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 全部消す。&lt;/p&gt;
&lt;p class=&quot;ContentClear&quot;&gt;というものです。var-www-NewSiteはドキュメントルートにあるNewSiteフォルダを意味していますので、各自の環境で置き換えて下さい。「すべてのキャッシュを消せ」という事なのでしょう。「/dev/build?flush=all」で同じ事はできないのかと質問されていた人もいましたが、v2.3.3ではまだのようでした。念のためですが、「silverstripe-cache-var-www-NewSite」のフォルダを消してはいけません。中のファイルだけを消してください。お間違いのないように。&lt;/p&gt;</description>
			<pubDate>Tue, 08 Dec 2009 11:54:00 +0900</pubDate>
			
			
			<guid>http://www.synju.com/ss-091208/</guid>
		</item>
		
		<item>
			<title>ImageGalleryで日本語フォルダが出来ないとは、どういう事？</title>
			<link>http://www.synju.com/ss-091205/</link>
			<description>&lt;p&gt;びっくりしました。 silverstripeに、ImageGalleryモジュールを追加しました。ところが、日本語フォルダが出来ないのです。全部「new-folder」フォルダ名になってしまうのですが、なぜ？。&lt;/p&gt;
&lt;p&gt;silverstripeは、ニュージーランドが本家。ASEANが本家ということなのに、まだUTF-8対策は行き届いていないのです。「moodle」には、こんな環境設定があるようです。「$CFG -&amp;gt; unicodecleanfilename = true;」のおかげでファイル名に漢字が使えるようですが、silverstripeは、このような機能はありません。ぜひ、v2.4では改良してほしいと思います。silverstripeのフォーラムで英語で質問する時間も技もないので、かってに調べました。場所はここです。sapphire/filesystem/File.phpの290行目付近、「function setName($name)」の中です。&lt;/p&gt;
&lt;pre class=&quot;brush: php;&quot;&gt;// Fix illegal characters　&lt;br /&gt;$name = ereg_replace(' +','-',trim($name));&lt;br /&gt;$name = ereg_replace('[^A-Za-z0-9.+_\-]','',$name);&lt;br /&gt;&lt;br /&gt;// We might have just turned it blank, so check again.&lt;br /&gt;if(!$name) $name = 'new-folder';&lt;/pre&gt;
&lt;p class=&quot;left&quot;&gt;ここ、無条件にファイル名の文字を調べています。これがあると、UTF-8の漢字は殆どが「illegal」になってしまい、結果として'new-folder'の名前に変更されてしまうのです。「moodle」のようにするなら、環境設定を参照して、ここを処理しないようにしたほうがいいと思います。という事で、日本限定で、いいえ自分限定で、ここをコメントアウトしてしまいます。それで、OK。ようやく日本語アルバム名でフォルダが出来ましたとさ。めでたし、めでたし。ちなみに、PHPの標準値ではアップロードサイズは2MBまでに制限されていますので、ImageGalleryで2MB以上をアップロードさせたい場合は、php.iniか、.htaccessに上限値を設定する必要があります。&lt;/p&gt;
&lt;pre class=&quot;brush: text; gutter: false; highlight: [1,2,3,4,5,6];&quot;&gt;&amp;nbsp;
 追記：
  この箇所は、Silverstripe 2.3.3なのですが、2.4.5でもそのままのようです。
  さらにFile.phpだけでなく、Upload.phpや他のソースの中にも同じ様な箇所が
  多く見られます。自分の責任で、このような部分を修正するしか無いようです。
&amp;nbsp;
&lt;/pre&gt;</description>
			<pubDate>Sat, 05 Dec 2009 00:51:00 +0900</pubDate>
			
			
			<guid>http://www.synju.com/ss-091205/</guid>
		</item>
		
		<item>
			<title>silverstripeに、こんなスタイルも追加してみました</title>
			<link>http://www.synju.com/ss-091204/</link>
			<description>&lt;p&gt;silverstripeに、また、こんな独自スタイルを追加してみました。これもちょっと邪道と言われそうな方法なのですが......。いいのかな？&lt;/p&gt;
&lt;p class=&quot;ContentLeft&quot;&gt;.typography .ContentLeft&lt;br /&gt; {&amp;nbsp;&amp;nbsp; font-family: Verdana, Lucida, Arial, sans-serif;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; display: block;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; float:left;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-size:1.3em;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; line-height: 1.4em;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; margin-right: 10px; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; border:1px #ccc solid;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; background:#eea;&lt;br /&gt;}&lt;br /&gt;.typography .ContentClear&lt;br /&gt;{&amp;nbsp;&amp;nbsp;&amp;nbsp; clear:both;&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;やってみました。こんなふうになります。本当は、新しいPageTypeでも作って貼り付けたり、Widgetを貼り付けたりするのでしょうけれど。めんどくさかったので、こういう手段を使いました。今後、このContentLeftスタイルを使ってしまいそうです。何が邪道って、class=typographyの中なのに、float:leftのようなレイアウト変更を入れて、さらに最後に改行だけを入れて、そこにclear:bothをするためだけのContentClearスタイルを設定して戻す事をしています。こんな事したら、silverstripeチームの方々に、「BADな方法」と言われそうですが、$Contentの中も手軽に変化のあるものにしようとしただけです。それに、SideBarの下の方。隙間が沢山あるでしょう？そこも有効に、しかも「簡単に」使いたいのですが...。&amp;lt;div id=&quot;Content&quot;&amp;gt;でSideBarを囲んでしまって、この邪道のスタイルを使いたくなるのですが、そこまでやるなら、やっぱり新しいPegeTypeを作って、それを「メニュー非表示」にして内容だけを持って来る方がいいです。&lt;/p&gt;
&lt;p class=&quot;ContentClear&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
			<pubDate>Fri, 04 Dec 2009 00:35:00 +0900</pubDate>
			
			
			<guid>http://www.synju.com/ss-091204/</guid>
		</item>
		
		<item>
			<title>不正アクセスの多いご時勢です</title>
			<link>http://www.synju.com/ss-091202/</link>
			<description>&lt;p&gt;@niftyが１２月から海外からのFTPアクセスを禁止するとの事です。私の知っているところでは....。&lt;/p&gt;
&lt;p&gt;@niftyではホームページのファイルをFTPで転送するようですが、海外ユーザーはホームページの更新もできない事になるのでしょうか。それ程、悪質なFTPアクセスがあったのでしょう。私の知っているところでは、ベトナムから、南米チリから、そして最も悪質なところが韓国です。ベトナムやチリからのものは数回程度で終わるのですが、韓国からのものは、１０分に１回、FTPユーザー名を変えながら、1秒間に1回づつ、何時間もログインし続けるようです。延々とログインをし続けるので、いったい何時間アクセスされるのかわかりません。知っているだけでも、NULL、guest、test、user、support、apache、web、........。しかも、夜中の2時から不正アクセス開始だってさ。韓国はお隣さんだから、時間帯も同じ。夜中の2時なんて社員が退社している時間だから無人サーバーを狙っているのでしょう。しかし、これもサーバーの負荷を上げる要因になるわけですから、腹も立ちます。&lt;/p&gt;
&lt;p&gt;この不正アクセスのほとんどが海外からなので禁止にしても、サービスへの影響範囲が少ないと判断されたのでしょう、@niftyは。&lt;/p&gt;
&lt;p&gt;不正アクセスはFTPだけではありません。apacheのドキュメントルートにあるフォルダ、webmail、roundcubeなどを調べるものもありますので、迷惑メール業者なんでしょうか。数ヶ月前に流行ったのは、phpMyAdminへの不正アクセスでしょう。これもドキュメントルートにあるフォルダ、p、pp、pma、admin、dbadmin、phpMyAdmin、mysql、.........、本当にきりがない。これ全部、ドキュメントルートへの不正アクセスですので、サーバーソフトを自前でインストールしている方々は気をつけたほうがいいと思います。&lt;/p&gt;
&lt;p&gt;こんな不正アクセス、有名なサイトだけでなく、googleにも検索されない「隠れサイト」にも悪さをしようとするのです。だから、プログラムかシェルでIPアドレスを総当たりしているのでしょう。&lt;/p&gt;
&lt;p&gt;ターミネータに翻弄される人間のようですが、こんな不正アクセスに対応する「時間」が、もったいないですねえ。ああ、もったいない。無駄に時間を過ごしてしまった...。さて、人間の反撃はこれから。&lt;/p&gt;</description>
			<pubDate>Wed, 02 Dec 2009 20:55:00 +0900</pubDate>
			
			
			<guid>http://www.synju.com/ss-091202/</guid>
		</item>
		
		<item>
			<title>silverstripeの日本語化で意味が分からなくなった</title>
			<link>http://www.synju.com/ss-091201/</link>
			<description>&lt;p&gt;silverstripeにuserformsモジュールを組込んで使っていたのですが、langフォルダに日本語化のja_JP.phpを追加しました。そうするとどうでしょう。userformsの使い方が一瞬、分からなくなりました。元の英文の意味は何だったかな.....思い出せない。&lt;/p&gt;
&lt;p&gt;userformsのタブに「から」が....。「から」って何だったかなと思い、ja_JP.phpを見ましたら、「FORM」を「FROM」と勘違いされていたようです。正しくは「フォーム」ですよ。「ONCOMPLETE」も、「完了」だけでは通じません。「完了メッセージ」とでも訳されたほうが....。「TEXTONSUBMIT」は、「承認ボタンを押して下さい」ではなく、「承認ボタンのラベル」とでも訳された方が意味がわかります。「SUBMISSIONS」も、「承認」ではなく、userformsで使われている場所では、「受付欄」のような意味かと。こういう様々なモジュールの日本語化は実際に使われている箇所を確認しないと意味の通じないものになりやすいものですが、確認している時間が無いのが実状なのでしょう。色々と日本語化は大変なものです。ボランティアで日本語化されている方々、本当にありがとうございます。ただ、これを誰に伝えればいいのかわかりませんので、&lt;a href=&quot;http://www.synju.com/assets/Uploads/userforms-ja_JP.php.txt&quot; target=&quot;_blank&quot; title=&quot;userformsのja_JP.php&quot;&gt;ここに&lt;/a&gt;置いておきます。ファイル名を「ja_JP.php」に変更してお使い下さい。ただ、自分で修正したほうが早いかも。&lt;/p&gt;</description>
			<pubDate>Tue, 01 Dec 2009 10:07:00 +0900</pubDate>
			
			
			<guid>http://www.synju.com/ss-091201/</guid>
		</item>
		
		<item>
			<title>silverstripeで独自スタイルを追加する</title>
			<link>http://www.synju.com/ss-091130/</link>
			<description>&lt;p&gt;sliverstripeで文章を修正する際に、スタイルとフォーマットを選ぶことができますが、独自のスタイルを追加する方法です。使っている「テーマ」によって違いますが、&lt;/p&gt;
&lt;p&gt;「blackcandy」の場合は、themes/blackcandy/css/typography.cssの中に、新しいスタイルを追加します。例えば、このように。&lt;/p&gt;
&lt;p class=&quot;srclist&quot;&gt;.typography .srclist&lt;br /&gt;{&amp;nbsp;&amp;nbsp; font-family:&quot;Courier New&quot;,Courier;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; display:block;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-size:1.2em;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; line-height: 1.3em;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; border:1px #ccc dashed;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; background:#eee;&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;そして、例のおまじない、?flush=1で再表示させると「スタイル」コンボボックス内に新しいスタイル「srclist」が追加されます。もし追加されなかったら、どこかにシンタックスエラーが無いかを探してください。それでもダメならログインし直せば追加されると思います。ただ、この方法ではテーマ変更したら使えなくなりますが...。&lt;/p&gt;
&lt;p&gt;いったい、どこが独自のスタイルなんだって？それは秘密.......ではなく、&quot;pre&quot;要素に指定してあったmargin、paddingを外して、borderをsolidからdashedにしただけです。さらに、この方法、あらかじめ「ブログ管理者」が追加しておかないとダメな方法です。「ブログ編集者」がかってに追加できませんね。&lt;/p&gt;</description>
			<pubDate>Mon, 30 Nov 2009 20:46:00 +0900</pubDate>
			
			
			<guid>http://www.synju.com/ss-091130/</guid>
		</item>
		
		<item>
			<title>silverstripeの日本語は</title>
			<link>http://www.synju.com/ss-091129/</link>
			<description>&lt;p&gt;silverstripeの日本語化についてですが、日本語化されない部分を少しメモ。&lt;/p&gt;
&lt;p&gt;BlogEntry.ssとBlogSummary.ssの中に同じ部分があるのですが、BlogEntry.ssの方は日本語化されているのに、BlogSummary.ssの方は日本語化されないという不思議な現象があります。同じところはこんなところ。&lt;/p&gt;
&lt;pre class=&quot;brush: html;&quot;&gt;&lt;p class=&quot;authorDate&quot;&gt;
  &amp;lt;% _t('POSTEDBY', 'Posted by') %&amp;gt; $Author.XML 
  &amp;lt;% _t('POSTEDON', 'on') %&amp;gt; $Date.Long | $Comments.Count 
  &amp;lt;% _t('COMMENTS', 'Comments') %&amp;gt;
&lt;/p&gt;
&lt;/pre&gt;
&lt;p&gt;この例の中で、_t('POSTEDBY', 'Posted by')という部分がありますが、 BlogEntry.ssにあるこの部分は日本語に置き換わるのですが、BlogSummary.ssにある同じ部分は、置き換わりません。BlogSummary.ssのソースがある場所が、BlogEntry.ssの1つ下のディレクトリ「Includes」にあるので、このソースのある場所が違う点が原因かもしれません。さらに、同じBlogSummary.ssの中には、以下のようなところがあります。&lt;/p&gt;
&lt;pre class=&quot;brush: html;&quot;&gt;&amp;lt;p class=&quot;blogVitals&quot;&amp;gt;
  &amp;lt;a href=&quot;$Link#PageComments_holder&quot; title=&quot;View Comments for this post&quot; class=&quot;comments&quot;&amp;gt;
    $Comments.Count comments
  &amp;lt;/a&amp;gt; | 
  &amp;lt;a href=&quot;$Link&quot; title=&quot;Read Full Post&quot; class=&quot;readmore&quot;&amp;gt;
    Read the full post
  &amp;lt;/a&amp;gt;
&amp;lt;/p&amp;gt;
&lt;/pre&gt;
&lt;p&gt;この中の「title=&quot;...&quot;」は、_t()の形になっていないので、自分で修正するしかありません。ただ修正しても前述の理由から日本語化されることはないので、このような所は日本語で直接、「title=&quot;コメントを見る&quot;」のように、ハードコーディングしなければなりません。完全日本語化にはもう少し時間がかかるかもしれませんね。小規模サイトにはいいと評判だったのでsilverstripeを使い始めたのですが、私のような素人には結構難しいものです。&lt;/p&gt;
&lt;p&gt;きっと、このような箇所が残っているのが、「trunk」モジュールなのでしょう。「stable」や「Latest Release」なら、このような事が無いかもしれません。確かに、組込んだBlogモジュールは、「trunk」の方だった.....はず。Upgradeする前にやる事が沢山ありますので、そちらを優先して、しばらくは、このまま使うしかありませんか。&lt;/p&gt;</description>
			<pubDate>Sun, 29 Nov 2009 14:32:00 +0900</pubDate>
			
			
			<guid>http://www.synju.com/ss-091129/</guid>
		</item>
		

	</channel>
</rss>
