Indigo テーマを使っていると、日付の表示がなじみのない形式になってしまうので、
テーマを直接書き換えて表示される日付フォーマットを変更しました。

/themes/indigo/ に PostView.ascx と CommentView.ascx があるので、

// 日本では使われない形式
DateCreated.ToString("MMMM yyyy dd, HH:mm") 

// 標準的な24時間表示
DateCreated.ToString("yyyy-MM-dd HH:mm")

と変更して、日付の表示を変えてみました。

Currently rated 2.4 by 148 people

  • Currently 2.425675/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

BlogEngine.NET 1.4.5.7 だと、Indigo テーマにバグがあってタイトル名の表示が変になってしまいます

これはテーマの中で呼び出しているめそっとが間違っているので、
ここを1箇所直せばひとまずタイトルは問題なく表示されます。

直すコードは /themes/indigo/PostView.ascx です

<!-- Post.Title が UrlEncode() されている -->
<h1><a class="postheader taggedlink" href="<%=Post.RelativeLink %>"><%=Server.UrlEncode(Post.Title) %></a></h1>


<!-- Post.Title を HtmlEncode() に変更する -->
<h1><a class="postheader taggedlink" href="<%=Post.RelativeLink %>"><%=Server.HtmlEncode(Post.Title) %></a></h1>

Currently rated 2.8 by 9 people

  • Currently 2.777778/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

BlogEngine.NET 1.4.5.7 は、なぜか Web.Config で CustomErrors Mode="Off" なため、
デフォルトで用意されているエラーハンドリング用ページが使われていません

そこで Web.Config を書き変えてカスタムエラーを有効にし、
さらに .Text からの移行で起きている /archive/ 配下のエラーをハンドルするため、
コードを少し書き変えました。

書き変えたのは error404.aspx.cs で、
PageLoad() メソッドの最初で "/post/" を調べているところを、OR条件で "/archive" も調べるようにして、
これにヒットしたらダイレクトにサーチをかけて、該当トピックの候補が表示されるようにしました。

// 元のメソッド
if (Request.QueryString["aspxerrorpath"] != null && Request.QueryString["aspxerrorpath"].Contains("/post/"))

// 書き変えたメソッド
if (Request.QueryString["aspxerrorpath"] != null && (Request.QueryString["aspxerrorpath"].Contains("/post/") || Request.QueryString["aspxerrorpath"].Contains("/archive/")))

Currently rated 2.6 by 80 people

  • Currently 2.55/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

BlogEngine.NET 付属の BlogML インポートアプリがかなりバカなんじゃないか疑惑

BlogEngine.NET でエクスポートしたちゃんとした BlogML を再度読み込ませると
BlogML で指定されているいろいろな設定を全部無視してインポートするようだ

Slug や Tags もしっかり全部無視するし、Last Modified なんかは西暦1年だし
なんかかなりいやーんな状態になることが判明

しょうがないので直接 Posts の XML ファイルをなめて書きかえるコードを書いてしまった(死

Currently rated 3.0 by 5 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

BlogML

2008-09-09

BlogEngine.Net に移行するために .Text のデータベースを
無理やり BlogML に変換して、BlogEngine に取り込んでみました

どうやって BlogML にするか悩んだ結果、
.Text のデータベースを SQL Server 2005 に入れていたので、
T-SQL 1本勝負で強引に BlogML 直接出力をしてみました(爆
# 細かく言うと、CDATA がうまく出なかったので、ちょっとC#コードで変換しましたが

Single Blog なことを前提にしているとか、いくつか決め打ちにしているところがあるのですが
とりあえずちゃんと BlogML な形で XML がでてきます(笑
# 探りながら作った手抜きコードなので汚いのはご愛敬...

/**
[PostType]
1 = Entry
2 = Article
3 = Comment
4 = Trackback
**/

DECLARE @BlogID int
DECLARE @AuthorPrefix int
DECLARE @CategoryPrefix int
DECLARE @RootUrl nvarchar(100)

SET @BlogID = 0
SET @AuthorPrefix = 0
SET @CategoryPrefix = 20000

SET @RootUrl = '/blog/'

SELECT @RootUrl As [root-url], GETDATE() As [date-created],
'http://www.w3.org/2001/XMLSchema' As [xmlns:xs],
(SELECT 1 As [Tag], NULL As [Parent], site.Title As [title!1!!cdata] FROM blog_Config site WHERE site.BlogID = @BlogID FOR XML EXPLICIT, TYPE),
(SELECT 1 As [Tag], NULL As [Parent], subtitle.SubTitle As [sub-title!1!!cdata] FROM blog_Config subtitle WHERE subtitle.BlogID = @BlogID FOR XML EXPLICIT, TYPE),
(SELECT BlogID + @AuthorPrefix As [id], LastUpdated As [date-modified], 'true' As approved, Email As [email],
(SELECT 1 As [Tag], NULL As [Parent], Author As [title!1!!cdata] FROM blog_Config authortitle WHERE author.BlogID = authortitle.BlogID FOR XML EXPLICIT, TYPE)
FROM blog_Config As author
FOR XML AUTO, TYPE) As [authors],
(SELECT category.CategoryID + @CategoryPrefix As [id],
(SELECT 1 As [Tag], NULL AS [Parent], Title As [title!1!!cdata] FROM blog_LinkCategories c2
WHERE c2.Active = 1 AND category.CategoryID = c2.CategoryID
FOR XML EXPLICIT, TYPE)
FROM blog_LinkCategories As category
WHERE category.CategoryType = 1
FOR XML AUTO, TYPE) As categories,
(
SELECT post.ID As id, post.DateAdded As [date-created],
 post.DateUpdated As [date-modified],
 @RootUrl + 'post/' + CAST(post.ID as nvarchar(1000)) + '.aspx' As [post-url],
 'true' As approved,
 CASE WHEN PostType = 2 THEN 'article' ELSE 'normal' END As [type], 'false' As [hasexcerpt],
(SELECT (vc.WebCount + vc.AggCount) As [views] FROM blog_EntryViewCount As vc WHERE vc.EntryID = post.ID AND vc.BlogID = @BlogID) As [views],
(SELECT 1 As Tag, NULL AS Parent, title.Title As 'title!1!!cdata' FROM blog_Content As title WHERE title.ID = post.ID FOR XML EXPLICIT, TYPE),
(SELECT 1 As Tag, NULL AS Parent, contents.Text As 'content!1!!cdata' FROM blog_Content As contents WHERE contents.ID = post.ID FOR XML EXPLICIT, TYPE),
(SELECT 1 As Tag, NULL AS Parent, title.Title As 'post-name!1!!cdata' FROM blog_Content As title WHERE title.ID = post.ID FOR XML EXPLICIT, TYPE),
ISNULL((SELECT category.CategoryID + @CategoryPrefix As ref FROM blog_Links As category WHERE category.PostID = post.ID FOR XML AUTO, TYPE), (SELECT MIN(CategoryID) + @CategoryPrefix As ref FROM blog_LinkCategories As category FOR XML AUTO)) As categories,
ISNULL((SELECT tag.Title As ref FROM blog_Links As category INNER JOIN blog_LinkCategories As tag ON category.CategoryID = tag.CategoryID WHERE category.PostID = post.ID FOR XML AUTO, TYPE), (SELECT tag.Title As ref FROM blog_LinkCategories As tag WHERE tag.CategoryID IN (SELECT MIN(CategoryID) As ref FROM blog_LinkCategories) FOR XML AUTO)) As tags,
(SELECT comment.ID As id, DateAdded As [date-created], DateUpdated As [date-modified], 'true' As approved, Author As [user-name], Email As [user-email], TitleUrl As [user-url], (SELECT 1 As Tag, NULL AS Parent, title.Title As 'title!1!!cdata' FROM blog_Content As title WHERE title.ID = comment.ID FOR XML EXPLICIT, TYPE), (SELECT 1 As Tag, NULL AS Parent, contents.Text As 'content!1!!cdata' FROM blog_Content As contents WHERE contents.ID = comment.ID FOR XML EXPLICIT, TYPE) FROM blog_Content As comment WHERE comment.ParentID = post.ID AND PostType = 3 FOR XML AUTO, TYPE) As comments,
(SELECT trackback.ID As id, DateAdded As [date-created], DateUpdated As [date-modified], 'true' As approved, TitleUrl As [url], (SELECT 1 As Tag, NULL AS Parent, title.Title As 'title!1!!cdata' FROM blog_Content As title WHERE title.ID = trackback.ID FOR XML EXPLICIT, TYPE) FROM blog_Content As trackback WHERE trackback.ParentID = post.ID AND PostType = 4 FOR XML AUTO, TYPE) As trackbacks,
(SELECT authorid.BlogID + @AuthorPrefix As ref FROM blog_config As authorid WHERE authorid.BlogID = @BlogID FOR XML RAW('author'), TYPE) As authors
FROM blog_Content As post
WHERE (PostType IN (1, 2))
FOR XML AUTO, ROOT('posts'), TYPE
)
FOR XML RAW('blog')

Currently rated 2.5 by 4 people

  • Currently 2.5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

BlogEngine.Net

2008-09-09

Blogを今までの .Text と Community Server からBlogEngine.Net に移行しました

いろいろと軽いバグがコードに含まれていたりして
それをちょこちょこ直して無事にリニューアルです

まだ日本語化していないですが、それもぼちぼち直してみる予定

Currently rated 3.0 by 40 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Windows Server 2008 を Server Core でインストールすると
インストールが終わって最初にログインを要求されます

このときに一体何を入力すればいいのかまったく案内がないので
うっかりしていると何をしていいのかあわててしまいます...

ここではユーザ名に Administrator を、パスワードは空白のままでログインをします
そうするとパスワードの変更をすることになり、無事に初期構成が完了します

これは結構はまりがちです

ここに至るまでは Server Core でなくともほぼ同じインストールプロセスですが
このログイン画面でいきなり違いが出てくるんですよね...

まあ、一度やってしまえばもう慣れてしまうところではありますが

Currently rated 3.0 by 5 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

前回は True Image Echo の紹介でしたが
これと組み合わせて大変素晴らしく便利に使える
Acronis Universal Restore というオプションを紹介します

Acronis Universal Restore
http://www.acronis.com/enterprise/products/ATIES/universal-restore.html

この Universal Restore は True Image Echo にアドオンするオプションなのですが
これを使うとバックアップを取ったイメージをリストアする際に
まったく違うハードウェア環境へも簡単にリストアできるようになります

通常はバックアップを取った環境と違うハードウェアにリストアしてしまうと
ドライバがなくてハードディスクが見えなくなって起動できなかったりと
いろいろな障害が発生して同じハードウェアでないとリストアができないことが多々発生します

この Universal Restore はあらかじめリストア後の環境で利用するドライバ等を指定することで
イメージのリストア後に指定したドライバを自動的に組み込むことで
まったく違う環境でもそのままリストアして起動することができるようになります

新しいハードウェアに移行したいときは、テンポラリでOSと True Image Echo + Universal Restore を入れて
その環境から別の環境でバックアップしたイメージを復元、その際に Universal Restore に新しいハードウェア用のドライバを指定すれば
物理ハードウェアの移行が非常に簡単になります
テンポラリの環境を作らず、Acronis のブータブルCD等でも使えるそうです。

Acronis True Image Echo Enterprise Server
http://www.cham-reo.com/Blog/post/2008/08/07/Acronis-True-Image-Echo-Enterpise-Server.aspx

Currently rated 3.0 by 42 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Windows Server にはバックアップツールが付属しているのですが
物理サーバにインストールされているインスタンスのバックアップを
そのまま Hyper-V 上にリカバリしてもディスクコントローラ等のドライバの関係で
リカバリが終わった後に起動しなくなってしまったりします

そこでなにかよいツールはないかと探したら発見しました
Acronis
http://www.acronis.com
Acronis True Image Echo Enterprise Server - Free Trial
http://www.acronis.com/enterprise/products/ATIES/

これはエンタープライズ向けのイメージベースのバックアップツールなのですが
数々のかゆい所に手が届くような機能が満載されています

OSが起動した状態でのイメージバックアップが可能なのはもちろんのこと
マルチボリュームのサポート、バックアップのリアルタイム圧縮や暗号化、スケジューリング、
さらには Dynamic Disk までもサポートしています

またバックアップデータをそのまま VHD に変換する機能や、ノートPC等によくあるリカバリ用パーティションの作成機能、
リカバリ用のブータブルCD作成機能など、さまざまなツールを使い分けなくとも
この True Image Echo だけで全部済んでしまいます
もちろんエンタープライズ向けなので、リモート管理やバックアップイメージの集中管理も対応

これはかなーり使えるツールのリスト入りです
Free Trial もあるのですぐに試すこともできますし
製品の価格自体もエンタープライズ向けエディションでも $999- とかなりお得感があります

ちなみに日本にも販売代理店があるようです
RUNEXY
http://www.runexy.co.jp/

Currently rated 2.5 by 4 people

  • Currently 2.5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

VC-1 対応の SDK が公開されていました
http://www.microsoft.com/downloads/details.aspx?FamilyID=5031C859-E8DA-41BC-98E3-C13ADD5378B0

Managed Code 対応ライブラリが同梱かは未確認ですが
VC-1 エンコーディングに関わるAPIだけでなく
Hardware Acceleration 対応APIもあるようです

Currently rated 2.6 by 276 people

  • Currently 2.597826/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Microsoft から Database, Filesystem, RSS に対応したデータ同期用フレームワークのCTPがでていました

どうやらこのフレームワークを使うと、バージョンや更新時間などのメタデータを元に、
データソースの同期を簡単に実装できるようになっている模様です

http://www.microsoft.com/downloads/details.aspx?FamilyID=35E8F16E-AAA4-4919-8B3C-1CE4EA1F6552&displaylang=en

Currently rated 3.0 by 5 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

TakeOffRally 2008

2007-11-05

慶應義塾大学 湘南藤沢キャンパスは、卒業式というのが慶應全体合同なので
借りてきた猫な感じになってしまう...ということもあって、
毎年4年生有志が発起人となって、SFC生の卒業パーティーとして
TakeOffRally というものが毎年開催されています。

今年度も TakeOffRally 2008 として、3月17日に横浜みなとみらいで開催予定。
慶應全体の卒業式 1週間前の大安ということで、いい日になればと。

TakeOffRally 2008 Website
http://takeoff08.sfc.keio.ac.jp

Currently rated 3.0 by 5 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

emobile D01NE に 新しいファームウェアが出ました
ACPI State S3/S4 (Sleep/Hibernate) などへの移行時の安定性向上などだそうです

たしかにたまに動作がおかしくなることはあったので早速適用する予定...

http://emobile.jp

Currently rated 3.0 by 5 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Microsoft Windows MultiPoint という Microsoft Research が研究している
1つのマシンで複数のマウスカーソルが使える技術のSDKがCTP2になりました

USBポートなどでマウスを複数つなぐとマウスカーソルが複数表示され
同時にマウスを動かして操作ができるというものです

どうやらキーボードは対応していないようですが
全く新しいインターフェイスにつながりそうな技術です

http://www.microsoft.com/downloads/details.aspx?FamilyID=a137998b-e8d6-4fff-b805-2798d2c6e41d
http://channel9.msdn.com/Showpost.aspx?postid=266221
http://www.microsoft.com/presspass/features/2006/dec06/12-14MultiPoint.mspx

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

The Next Web Now

2007-05-24

The Next Web Now ということで
Web 2.0 をはじめとする新世代のWebを紹介しているサイトです

REMIX Tokyo 07 は2007年9月26日開催とのこと
楽しみです

http://www.microsoft.com/japan/msdn/nextweb/

Currently rated 3.0 by 5 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5