Webアプリを創る

mojoPortal が 2.3.1.5 にバージョンアップ

2009年8月29日

mojoPortal が2.3.1.5 にバージョンアップされています。今回のバージョンアップでは、Tiny MCE Editor 周りのの改善やサイトの設定で設定できる「パーミッション」の項目の増加などの改善がなされています。

1. Tiny MCE Editor を標準エディターに

今までは mojoPortal の標準のエディターは、FCKeditor でしたが、最近 FCKeditor に問題が発生したため、Tiny MCE Editor 周りの改善をおこない、Tiny MCE Editor を標準エディターとしたそうです。、

2. CKeditor 3.0 の対応

最近リリースされた CKeditor 3.0 に対応したそうです。ただし、イメージブラウザー等には、まだ対応してません。

3. サイトの設定にパーミッションタブを追加

管理メニューのサイトの設定に「パーミッション」タブを追加して、今までWeb.config で設定をしていた、ファイルのアップロードの権限等をサイトの設定画面で設定ができるようになりました。

4. NeatUpload を 1.3.18 にアップグレード

NeatUpload を最新版にアップグレードするとともに、複数ファイルのアップロードに対応したそうです。ファイルマネージャの画面では、「4ファイルまで同時にアップロードできます」となったままですが、日本語の翻訳の変更が間にあっていないだけで、いくらでも同時にアップロードをすることができます。

5. 付属のスキンをHtml 5 対応に変更

付属のスキンをXHtml 1.0 対応からHtml 5 対応に変更したそうです。なお、従来のXHtml 1.0 対応のスキンも問題なく使用することができます。

SQL Azure を使ってみる

2009年8月26日

SQL Azure のCTP版の提供が8月18日から開始されていましたが、SQL Azure CTP のinvitation code が送られてきたので、Windows Azure とSQL Azureを試しています。ストレージとして、SQL Sever のみを使っているアプリケーションの場合は容易に Windows Azure 用にに変換して公開することが可能です。

SQL Azure は、SQL Server 2008 をベースにしていますが、SQL Server Management Studio(SSMS) のオブジェクト エクスプローラ等のGUIツールは、まだ利用できないということで、クエリのみが利用できるという状況です。今後のツール類の整備に期待したいと思います。

マニュアルは、現状では Windows Azure Platform Training Kit(August 2009 Update) を見ろということのようです。SQL Azure の使い方について少しメモ書きをしておきます。

1.SQL Azure への接続

1-1.SSMS を起動します。サーバーへの接続画面が表示されますがキャンセルボタンをクリックします。
1-2.「 新しいクエリ」ボタンをクリックします。SQL Azure へ接続する場合は、常にクエリからになります。
image
1-3 サーバーへの接続画面が表示されるので、管理者でサーバーに接続します。
サーバー名は、server_name.ctp.database.windows.net server_nameは、管理画面のServer Name: で表示されるサーバー名です。
認証は、SQL Server 認証 を選択します。
ログインは、管理画面のServer Admin: に表示される管理者を入力します。
パスワードは、登録したパスワードを使用します。管理画面には「Reset Password」ボタンがあるのでいつでも変更ができます。
image 
1-4 接続できると以下のエラーメッセージが表示されますが無視します。
image 

2. データベースとユーザーの作成

SSMSで使えるのは、クエリの画面だけなので、作業はすべてコマンドベースで行います。
2-1. データベースの作成
CREATE DATABASE データベース名
2-2. データベースの一覧の表示
SELECT * FROM sys.databases
2-3. ユーザーの作成
CREATE LOGIN ユーザー名 WITH PASSWORD=’パスワード’

3. データベースへのユーザー権限の設定

Azure SQL では、USE コマンドを使ったデータベースの移動ができません。別のデータベースにアクセスしたい場合は、接続をし直す必要があります。サーバーへの接続画面で、オプションボタンをクリックして、「接続プロパティ」タブを選択して、「データベースへの接続」の項目にユーザー権限の設定をしたいデータベースの名前を入力します。
image

3-1. データベースへのログインを可能にする
CREATE USER ユーザー名 FOR LOGIN ユーザー名
3-2. データベースに所有者権限を付与する。
EXEC sp_addrolemember ‘db_owner’, ‘ユーザー名’
以上で作成したユーザーで、新規データベースにログインして、作業ができるようになります。

4. データベースの移行

既存のデータベースをSQL Azure にインポートしたい場合は、SSMS でエクスポートしたいデータベースのスクリプトを作成して、それでSQL Azure にインポートします。
4-1. スクリプトの作成
SSMSでエクスポートしたいデータベースを選択して、右クリックをして、「タスク」の「スクリプトの生成」を選択します。
image
スクリプト作成ウィザードが起動されます。ウィザードにしたがって入力しますが、スクリプトオプションの設定では次の設定を変更します。
データのスクリプトを作成 True (データもエクスポートしたいため)
UDDTs を基本データ型に変換 True (SQL Azure では、ユーザー定義型は利用できない)
USE DATABASE のスクリプトを作成 False (SQL Azure では、USE は利用できない)
拡張プロパティのスクリプトを作成 False (SQL Azure では、拡張プロパティは利用できない)

4-2 スクリプトを SQL Azure 用に修正
SQL Azure は、SQL Server 2008 のサブセットであるため、SQL Azure で定義されていない機能を削除していきます。作成したスクリプトファイルをSSMS に読み込んで、以下の変更を行います。

    • スクリプトの最初にあるユーザー定義の削除
      /****** Object:  User [NT SERVICE]    Script Date: 08/26/2009 19:53:45 ******/
      CREATE USER [NT SERVICE] FOR LOGIN [NT SERVICE\MSSQL$SQLEXPRESS]
      GO
    • CREATE TYPE の削除
    • ON [PRIMARY] の削除
    • NOT FOR REPLICATON の削除
    • WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) を
      WITH (STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF) で置き換える
    • XML SCHEMA COLLECTION 文の削除
    • CREATE PRIMARY XML INDEXPress 文の削除
    • ROWGUIDCOL の削除
    • SET ANSI_NULLS の削除

  

上記以外にも定義されていない機能があるので、SQL Azure に接続して、「解析」ボタンをクリックして、結果を確認してスクリプトを修正していきます。なお、「解析」を実行してもデータベースの更新はおこなわれません。  image

4-3. SQL Azure にインポート

SQL Azure に接続して、スクリプトを実行すれば、SQL Azure のデータベースにテーブル等がインポートされます。

  1. テーブル一覧の取得 SELECT * FROM sys.objects
  2. 照合順序の変更(ALTER DATABASE は使用できないため、列単位で指定)
    ALTER TABLE テーブル名 ALTER COLUMN 列名 列型 COLLATE Japanese_CI_AS
5. SQL Azure を使ったアプリケーションの作成

ローカルのSQL Server を使ってアプリケションを作成後、Web.config の接続文字列を修正する。Web.config の修正をする場合は以下の接続文字列を参考にして修正します。アプリケーションでの接続は、簡単でした。

<add name="AdventureWorksLT2008ConnectionString" connectionString="Initial Catalog=HoLTestDB;Data Source=REPLACE_SERVER_NAME.ctp.database.windows.net;encrypt=true;User ID=HoLTestUser;Password=REPLACE_HoLTestUser_PASSWORD;TrustServerCertificate=true;" providerName="System.Data.SqlClient" />

ActiveWebにUmbracoをインストール その2

2009年8月23日

以前 「ActiveWebにUmbracoをインストール」で、「管理画面で、Stylesheets、Templates、Scripts、XSLT を保存するときに、javascriptエラー「umbraco is not defined」が発生して保存ができない」と書きましたが、原因がわかりました。Web.config の設定ミスでした。「ActiveWebにUmbracoをインストール」の方を修正しておきました。また、トップページがIE6で見た場合かなり問題があったのですがそれも修正できました。これで、ActiveWeb で Umbraco をインストールして利用するのに問題はないので Umbraco の利用が増えればいいなと思っています。Umbraco については、バージョン4.1で仮想ディレクトリに対応するそうです。少し先のことですがそうなれば、さらに利用しやすくなると思っています。

Windows 7 に Umbraco と mojoPortal をインストール その2

2009年8月23日

(新規インストールしたWindows 7で確認したところ以下の内容については、改善されていました。2009/9/23)Windows 7 のIISについては、何らかの不具合があるようです。前回、Microsoft Web Platform Installer を使うとインストールすることができると書きましたが、「ウェブサイトの選択」で新規サイトを選択した場合は、以下のように HTTP Error 503. が表示されうまく動作しません。
wpi10 
IIS のアプリケーションプールの詳細設定で「ユーザー プロフィルの読み込み」がTrueに設定されているのがその原因のようで、その設定だとサイトにアクセスするとアプリケーションプールが停止してしまいます。そのため、HTTP Error 503.が発生するようです。下の図のように、IIS のアプリケーションプールの詳細設定で「ユーザー プロフィルの読み込み」をFalseにしてやると動作するようになります。いずれにしても、IISには、このあたりの設定に不具合があるようです。
wpi12

Microsoft Web Platform Installer を使ったUmbracoのインストールの方法については、こちらに作成しました。

Windows 7 に Umbraco と mojoPortal をインストール

2009年8月19日

Technet で Windows 7 日本語版が8月12日から提供されていたので、PC に Windows 7 をインストールして、Umbraco と mojoPortal がインストールできるかどうか試してみました。プログラムをダウンロードしてインストールしたのでは、Windows 7 RC の時と同じで「System.Security.Policy.PolicyException: 必要なアクセス許可を取得できません。」というエラーが発生してインストールできませんでした。しかし、Microsoft Web Platform Installer を使ってインストールするとインストールすることができました。
Umbraco をMicrosoft Web Platform Installerを使用してインストールする場合は、ルートディレクトリにインストールする必要があることから、「’Umbraco’ application name:」は空白のままにしておきます。警告が出ますがそのまま続行するとインストールできました。ただし、wwwroot にあったすべてのファイルは削除されてしまうことに注意してください。Microsoft Web Platform Installer を使えば、Umbraco は、5分もあればインストールできてしまいます。
image