驚艷於一個相容於ColdFusion,但是可免費商用的Railo,跌跌撞撞的研究過程,希望能有同好一起交流指教。

2009年9月8日 星期二

Output Control - 空白字元與版本資訊

我們可以進一步微調 Railo中的設定,關於 Output控制:

筆者建議設定:


設定路徑: Web Administrator > Settings > Output > Railo output control
以及 Server Administrator > Settings > Output > Railo output control 都要進行同樣設定


1. Whitespace management 空白字元管理 -
 Removes all white spaces in the output that follow a white space移除全部的空白字元,此設定可以大幅度減少頻寬的消耗(對於動態網頁來說很容易產生大量的空白)。

筆者過去在其他環境下(.asp .php .jsp/Linux windows 2K),曾使用其他硬體或第三方軟體移除空白的功能,在某些特定環境組合下的瀏覽器會有顯示不正常的問題;但在Railo中尚未遇到此狀況,如果有遇到客戶反應,可嘗試關掉此功能測試。

但是節省下的頻寬/速度來說,筆者認為此功能相當值得啟動。



我們用一個簡單的範例解釋: (以 "九九乘法表" 程式為例; 很多人都是從這個開始第一個程式吧? :D )

程式原始碼
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="font.css" rel="stylesheet" type="text/css" />
<title>空白字元測試</title>
</head>
<body>
<CFOUTPUT>
  <CFLOOP index="i" from="1" to="9">
    <CFLOOP index="j" from="1" to="9">
       #numberformat(i,"00")# * #numberformat(j,"00")# = #numberformat((i*j),"00")#<br />
    </CFLOOP>
    <hr />
  </CFLOOP>
</CFOUTPUT>
</body>
</html>


畫面輸出結果:


我們再來看原始碼的內容做比較,
勾選移除空白字元:


未勾選狀態: (將資料反白後可以看得更清楚)



2.Output Railo version 顯示Railo版本 -
 Return the Railo version in the response header在HTTP header中顯示Railo版本資訊,基於安全的理由,建議關閉此選項。

我們用 Tenlet 127.0.0.1 8600 來檢查
未勾選回傳版本資訊:


勾選回傳版本資訊:

2009年9月3日 星期四

取得Railo無人數限制金鑰步驟 (Railo Community)

Railo 目前一共有三個版本,開發版/社群版/企業版,如果沒有輸入金鑰(serial number)下,會自動變成開發版。

官方原文介紹如下:


The different product levels are a result of the used serial number which you receive from the customer center. If you don't use a serial number you are going to get the Develop Version automatically. (see below)

Railo develop
The Develop Version is a version, addressing those users who are most likely to apply it in order for assembling CFML application . The version though is prohibited to be used commercially.

Railo community
Railo Community is intended to be used by low budget business applicants. The Community Version offers the entire language range of Railo except for some features listed below.

Railo enterprise
The Enterprise Version of Railo is the biggest and most comprehensive version intended to be used in a larger context.



三個版本的差異如下:
Railo Develop開發版 - 同一時間最多10個不能IP使用,而且基本上這個版本是禁止用來商業使用。
Railo Community社群版 - 無使用人數上限,只要註冊就能免費取得,授權範圍在單一伺服器上以及大部分的功能。與企業版差異在:
*限制部分管理功能
*沒有多媒體功能
*沒有管理同步
*沒有叢集功能
*未經官方同意不能散佈

Railo enterprise企業版 - 目前Railo最高等級產品,擁有最完整的功能,包含多媒體功能、多伺服器管理、叢集管理等。

這篇主要步驟是示範如何取得Railo Community社群版的金鑰。
1. 到 Railo官網後,點選"Customer Center"頁籤,勾選 [I'm a new customer] 選項


2. 輸入註冊資料,打*號的地方是必填的。(如需要可參考中文地址英譯)


3. 註冊成功後,點左邊 "Licenses"次頁,再點[get new license]


4. 選擇第一個 Railo Community 3.0,可以看到最後的價格是 $0.00 (企業版是美金$2999.00)


5. 成功後就可以看到一組序號,複製後在Railo管理介面中輸入,即可從開發版升級為社群版

2009年7月15日 星期三

Windows Server 2008測試環境建置-英文VHD與中文語言包安裝

Windows 2008測試環境建置

1. 安裝 VPC 2007 (Windows XP Pro可免費安裝)
2. 下載 Windows Server 2008 Enterprise Edition x86 (Full Install) VHD或是Virtual Hard Drive (VHD) Windows Server 2008 Enterprise
3. 如果不習慣英文介面, 可Windows Server 2008內安裝中文包,下載 Windows Server 2008 多語系使用者介面 (MUI) 語言套件.

每一個語言套件皆為一支 .cab 檔案。語言套件的 .cab 檔案會分組為 .img 影像下載檔案。中文語系要選群組2的檔案。

32 位元 (x86) 語言套件
• 群組 2 (簡體中文、繁體中文、韓文、葡萄牙文 (巴西))
o 檔案名稱:6001.18000.080118-1840_x86fre_Server_LP_2-KRMSLP2_DVD.img

amd64 (x64) 語言套件
• 群組 2 (簡體中文、繁體中文、韓文、葡萄牙文 (巴西))
o 檔案名稱:6001.18000.080118-1840_amd64fre_Server_LP_2-KRMSLPX2_DVD.img



語言套件安裝步驟:
1. 至 [Control Panel] 選擇 [Regional and Language Options]


2. 到 [Keyboards and Languages] 選擇 [Install/uninstall languages]


3. 選擇 [Install languages]


4. 將下載的檔案燒錄成光碟或是 img 掛載,選擇 [zh-hk] 子目錄,依照預設步驟執行。





5. 最後請將 [Change my display language to 中文(繁體)] 與 [Apply change to system accounts] 兩個選項打勾後按 [Log off] 重新登入後即變為中文介面。


重新登入後,原本英文畫面就會變成繁體中文介面。

2009年7月6日 星期一

在 Windows XP 上安裝IIS

Windows XP 預設是不裝IIS的,我們可以手動把IIS裝上來。請依照以下步驟:

1. 控制台 -> 新增或移除程式 -> 新增/移除Windows元件


2. 選擇 Internet Information Services (IIS) 然後 [下一步]


3. 安裝過程會需要原版光碟,如光碟位置不在D槽請修改正確位置後,放入光碟後按 [確定]


4. 開始安裝,安裝完成後會出現結束畫面,按下 [完成]




5. 檢查一下是否安裝成功,桌面上 [我的電腦] 按滑鼠右鍵,選取 [管理(G)]


6. 在服務及應用程式中,可以看到 IIS已經在運作中;用瀏覽器連上 http://127.0.0.1/ 或 http://localhost/應該可以看XP IIS歡迎畫面


7. 我們可以用 telnet 127.0.0.1 80 去檢查,可以發現IIS版本是 5.1


這樣就完成IIS在Windows XP上的安裝,對於開發階段來說應該還滿方便的,不過記得XP連線數有限制,真的要對外服務時還是要用 Server。




 

2009年7月3日 星期五

你也可以決定 Railo未來走向

在享受Railo之外,你也可以加入 Railo決策小組!

railo.uservoice.com 進行建議或投票.


進入畫面後的輸入框可以提出你對Railo的建議(新增功能、對某種技術支援等等)。

預設畫面是TOP目前最多人推薦的話題,其中會有Railo開發小組的意見回覆,當然越多人關心的議題,Railo開發小組會優先考慮,不登入狀態下可以有十票,單個議題最多投三票。我是投

1. add cfreport (.cfr) support 增加CFReport報表功能: 三票
 2. Implement flash charts for CFChart 支援/增強CFChart Flash繪圖功能: 三票
 3. Make installing on Windows easier 讓Windows安裝更容易: 三票
 4. Implement the AJAX tags 支援/增強 AJAX標籤: 一票 (官方已開始進行!! ^^)



其他更多議題,請多多提供意見~其他我覺得還不錯的議題還有:

* CFLDAP - fully support CFLDAP with ssl (port 636)
完整的CFLDAP支援(含SSL)


* SSLv3 (Client Certificates) Support
Sometimes sites or web services have quite restrictive security, especially internal applications with sensitive data. We need support for SSLv3 (Client Certificates) for CFHTTP, CFInvoke and CreateObject.
增加CFHTTP 抓取加密網站功能


* Flash Remoting
Full flash remoting and Blaze integration
完整的 Flash Remoting支援 (官方已開始執行中)



期待未來的 Railo越來越棒!

備份 Railo Datesorce設定

在建立好自己的Datasource後,可以備份以下檔案,用以轉移多台主機或是未來還原使用。

假設安裝路徑在

C:\Railo\



相關設定在

C:\Railo\lib\railo-server\context\railo-server.xml



將此檔案備份即可。

2009年7月2日 星期四

[BUG] cfinput type="dateField"

舊程式碼版本: ColdFusion 8.0
Railo Server版本: 3.1.0.015

轉換舊程式語法時出現一些錯誤,這個錯誤是由 cfinput type="dateField" 造成的,以下是舊程式碼

<cfset zhtw_mon = '一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月'>
<cfset zhtw_day = '日,一,二,三,四,五,六'>
<cfformaction="test.cfm" method="post">
<cfinput dayNames="#zhtw_day#" monthnames="#zhtw_mon#" type="dateField" name="testdate" label="Start Date:" mask="YYYY/MM/DD">
</cfform>


在ColdFusion 8.0可順利執行


但是在Railo會出現錯誤:

Railo 3.1.0.015 Error (Application)
Message: value of attribute [daynames] must contain a string list with 7 values, now there are 7 values



如果把中文標題去除:

<cfform action="test.cfm" method="post">
<cfinput type="dateField" name="testdate" label="Start Date:" mask="YYYY/MM/DD">
</cfform>



在 CF 8.0正常, 在 Railo 會出現另一個錯誤

Railo 3.1.0.015 Error (Application)
Message: type [datefield] is only allowed if form format is flash



但是氣結的是, 強迫在CFform中加入format="flash"

<cfform action="test.cfm" method="post" format="flash">



CF 8.0 可以自動轉換成Flash模式


在 Railo還是會出現另一個錯誤

Railo 3.1.0.015 Error (Application)
Message: format [flash] is not supported, only the following formats are supported [html]




這部份可能要等新版 Railo解決此問題(或許需要外掛某個Flash Engine);在此之前只能改用其他 CF 語法後端檢查或是不能偷懶自己改寫 Javascipt語法

DateSource 新增、修改、刪除

在 Railo維護DataSource:

建立Datasource:
1. 進入管理介面中,選取 Services -> Datasource.

2. 輸入datasource名稱,並選擇資料庫型態,本例為 MS SQLserver


3. 輸入資料庫位置、port number、帳號、密碼,以及其他設定,下方權限也最好設定一下,可以多一層保障,以避免程式無心造成隱藏的漏洞。(如:此Datasource專司查詢的功能,就不需要開放Insert,Delete等權限)


4. 暨有的datasource可以在第一次進來的畫面看到,也可以勾選後按下Verify進行連線DB檢查,如果Pass,後方的Check會呈現 "OK"字樣。


以上設定還滿容易的,這部分跟Adobe ColdFusion類似的,相當容易進行維護。

2009年6月30日 星期二

如何修改預設Port 8600 到Port 80

Railo Server (其實是resin)的預設port為 8600,通常會需要要改成80 或是其他PORT#。

假設安裝路徑在 C:\Railo\

1. 到 C:\Railo\conf 下,修改 resin.conf

2. 搜尋 <!-- The http port --> 這段語法後方找到 <http address="*" port="8600">,將其中的 8600 改成所需要的PORT即可。

在Windows XP上安裝Railo Server

先來簡單測試一下,安裝 Railo Server 在 Windows XP Professional (未加裝IIS或其他 web server)

1. 安裝 Railo Server,這是官方最建議的版本,直接執行 railo-3.1.0.015-resin-with-jre-windows.exe

Railo Server
The server version is the main version of Railo.
This version is delivered with Caucho Resin as the integrated application and web server.
This version is recommended for production use.
Read our guidelines in the Railo blog for more information.



2. 出現版權宣告畫面,確認後按 [I Agree]


3. 選擇安裝路徑, 本例將路徑改為 C:\Railo\


4. 出現安裝畫面, 速度很快, 大約兩分鐘以內就可安裝完畢.


5. 安裝成功後,在程式集中可以看到Railo Server,點選Railo Administrator進行設定


6. 進入Admin後,可以看到上下兩個選項,進入後選項一模一樣,但是上方是 Single WEB(?),下方是 Every WEB(?),我們選擇下方 Every WEB


7. 第一次進入需要設定密碼,最少需要六位數


8. 設定完成後,即可進入設定畫面,可以查看各像設定與調整,注意上方的網址,目前執行的程式已經是 xxxxx.cfm,這表示這台電腦已經可以開始執行 ColdFusion程式語法囉!

2009年6月29日 星期一

免費商用ColdFusion?

ColdFusion 對於許多程式設計師來說,真是又愛又恨;喜愛它的功能強大,喜愛它的精簡語法,無法比擬的開發速度,卻又對它的價格(雖然相較於其他語言要做到同樣的功能可能花的錢或是投入的研發人力要多更多,但老闆就是看第一次的購買成本)與中文參考文件與交流資訊少的可憐,恨的牙癢癢的!

除了花俏的外觀外,個人卻更看重它對於DBA出身的人有完美的幫助,要程式設計師去跟使用者溝通已經夠頭痛了,遑論要求系統工程師及資料庫管理師寫出個簡單查詢介面。

希望這個研發的筆記可以拋磚引玉,找到更多同好一同交流。

Railo官方網站

Railo下載位置