<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest topics for the forum "OLAT中文社群 OLAT Chinese Users Community"]]></title>
		<link>https://forum.andowson.com/forums/show/14.page</link>
		<description><![CDATA[The newest discussed topics in the forum "OLAT中文社群 OLAT Chinese Users Community"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>OLAT 6.2.1-&gt;6.2.2升級筆記</title>
				<description><![CDATA[ OLAT 6.2.2出來了一陣子，昨天開始嘗試升級，除了壓縮檔解壓縮出來的目錄命名方式跟之前不同外，執行到ant build時還遇到了下面這樣的錯誤 
<br>
[quote] [javac] The system is out of resources. 
<br>
 [javac] Consult the following stack trace for details. 
<br>
 [javac] java.lang.OutOfMemoryError: Java heap space[/quote] 
<br>
後來查了一下OLAT mailing list裡面，有人也遇到了這樣的問題，解法就是加上一個 
<br>
export ANT_OPTS=-Xmx128m 
<br>
宣告再執行ant build就可以了，底下直接給整個執行的shell script，有需要的人請自行參考並修改。 
<br>
<br>
[code] 
<br>
# get OLAT source 
<br>
cd ~/download 
<br>
wget http://www.olat.org/downloads/stable/OLAT-6.2.2.zip 
<br>
unzip OLAT-6.2.2.zip 
<br>
mv olat3 OLAT-6.2.1 
<br>
mv OLAT-6_2_2-PUBLIC-* olat3 
<br>
cd olat3 
<br>
<br>
# config build.properties 
<br>
sed -e "s/\/usr\/local\/opt\/olat\/olat3/\/home\/andowson\/download\/olat3/g" \ 
<br>
-e "s/\/usr\/local\/opt\/olat\/olatdata/\/home\/andowson\/data\/olatdata/g" \ 
<br>
-e "s/\/usr\/local\/opt\/tomcat/\/var\/tomcat6/g" \ 
<br>
-e "1,$$s/www.myolat.com/www.andowson.com/g" \ 
<br>
-e "1,$$s/myolat.com/andowson.com/g" \ 
<br>
-e "1,$$s/myolat/andowson/g" \ 
<br>
-e "s/server.modjk.enabled=false/server.modjk.enabled=true/g" \ 
<br>
-e "55a\server.modjk.jvmRoute=worker1" \ 
<br>
-e "s/defaultcharset=ISO-8859-1/defaultcharset=UTF-8/g" \ 
<br>
-e "s/registration.enableNotificationEmail=false/registration.enableNotificationEmail=true/g" \ 
<br>
-e "s/smtp.host=smtp.andowson.com/smtp.host=smtp.other.com/g" \ 
<br>
-e "s/smtp.user=/smtp.user=username/g" \ 
<br>
-e "s/smtp.pwd=/smtp.pwd=password/g" \ 
<br>
-e "121,143d" \ 
<br>
-e "1,$$s/#db/db/g" \ 
<br>
-e "1,$$s/net.sf.hibernate/org.hibernate/g" \ 
<br>
-e "s/instantMessaging.server.name=jabber.andowson.com/instantMessaging.server.name=www.andowson.com/g" \ 
<br>
-e "s/instantMessaging.db.name=wildfire/instantMessaging.db.name=openfire/g" \ 
<br>
-e "s/instantMessaging.db.user=wildfire/instantMessaging.db.user=openfire/g" \ 
<br>
-e "s/instantMessaging.db.pass=wildfire/instantMessaging.db.pass=openfire/g" \ 
<br>
-e "s/cluster.catalinaport=8006/cluster.catalinaport=8105/" \ 
<br>
-e "s/cluster.ajpport=8009/cluster.ajpport=8109/" build.properties.default &gt; build.properties 
<br>
<br>
# adjust the original template config files 
<br>
# enable zh_CN and zh_TW on the top right menu 
<br>
sed -i -e "s/&lt;enabledLanguages&gt;en,de,fr,it,es&lt;\/enabledLanguages&gt;/&lt;enabledLanguages&gt;en,de,fr,it,es,zh_CN,zh_TW&lt;\/enabledLanguages&gt;/g" ~/download/olat3/webapp/WEB-INF/olat_config.xml.in 
<br>
# change domain name in email address 
<br>
sed -i -e "1,$$s/olat-newinstallation.org/andowson.com/g" ~/download/olat3/webapp/WEB-INF/olat_config.xml.in 
<br>
# fix the commnet style in XML 
<br>
sed -i -e "13c\ &lt;\!-- default session timeout --&gt;" ~/download/olat3/webapp/WEB-INF/web.xml.in 
<br>
<br>
# remove findbugs setting 
<br>
sed -i -e "1348,1361d" build.xml 
<br>
ant config-all 
<br>
# to avoid OutOfMemoryError 
<br>
export ANT_OPTS=-Xmx128m 
<br>
ant build 
<br>
<br>
# stop Tomcat 
<br>
sudo /etc/init.d/tomcat stop 
<br>
<br>
# backup db 
<br>
sudo -u postgres pg_dump olat &gt; /tmp/olat.bak 
<br>
<br>
# copy to the target directory 
<br>
sudo mv ~/www/olat /tmp/olat-6.2.1 
<br>
cp -rf ~/download/olat3/webapp ~/www/olat 
<br>
cp -rf ~/download/olat3/htdocs/* ~/www/olat 
<br>
sudo chmod 775 ~/www/olat/static 
<br>
sudo chmod 775 ~/www/olat/WEB-INF 
<br>
sudo chmod 775 -R ~/data/olatdata 
<br>
<br>
# start Tomcat 
<br>
sudo /etc/init.d/tomcat start 
<br>
[/code]]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/375/717.page</guid>
				<link>https://forum.andowson.com/posts/preList/375/717.page</link>
				<pubDate><![CDATA[Wed, 23 Dec 2009 21:15:39]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>徵求有興趣參與共同翻譯OLAT繁體中文的使用者</title>
				<description><![CDATA[ Hi Andowson： 
<br>
是啊！之前是一家西安的科技公司在做，后来他们放弃了。不过他们在教育方面知之甚少，而且又有很多错误，可能后期还要重新调整。如果这边进展顺利，我就会用剩余的时间帮助您进行中文繁体的翻译工作。希望大陆能和台湾同一天发布语言包。 
<br>
期待合作！ 
<br>]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/263/703.page</guid>
				<link>https://forum.andowson.com/posts/preList/263/703.page</link>
				<pubDate><![CDATA[Thu, 3 Dec 2009 00:28:19]]> GMT</pubDate>
				<author><![CDATA[ Matthew]]></author>
			</item>
			<item>
				<title>OLAT 6.1.1-&gt;6.2.1升級筆記</title>
				<description><![CDATA[ 步驟如下: 
<br>
1.切換到下載目錄 
<br>
[code]cd ~/download[/code] 
<br>
2.下載原始碼壓縮檔 
<br>
[code]wget http://www.olat.org/downloads/stable/OLAT-6.2.1.zip[/code] 
<br>
3.解壓縮 
<br>
[code]unzip OLAT-6.2.1.zip[/code] 
<br>
4.將舊版程式目錄更名 
<br>
[code]mv olat3 OLAT-6.1.1[/code] 
<br>
5.將解縮壓後的目錄更名為olat3 
<br>
[code]mv OLAT-6.2.1-PUBLIC-* olat3[/code] 
<br>
6.切換到olat3目錄 
<br>
[code]cd olat3[/code] 
<br>
7.開啟build.properties.default，輸入:set nu，搜尋mysql，找到mysql的起始和結尾行號 
<br>
[code]vi build.properties.default[/code] 
<br>
8.產生build.properties，先不啟用instantMessaging 
<br>
[code] 
<br>
sed -e "s/\/usr\/local\/opt\/olat\/olat3/\/home\/andowson\/download\/olat3/g" \ 
<br>
-e "s/\/usr\/local\/opt\/olat\/olatdata/\/home\/andowson\/data\/olatdata/g" \ 
<br>
-e "s/\/usr\/local\/opt\/tomcat/\/var\/tomcat6/g" \ 
<br>
-e "1,$$s/www.myolat.com/www.andowson.com/g" \ 
<br>
-e "1,$$s/myolat.com/andowson.com/g" \ 
<br>
-e "1,$$s/myolat/andowson/g" \ 
<br>
-e "s/server.modjk.enabled=false/server.modjk.enabled=true/g" \ 
<br>
-e "55a\server.modjk.jvmRoute=worker1" \ 
<br>
-e "s/defaultcharset=ISO-8859-1/defaultcharset=UTF-8/g" \ 
<br>
-e "s/registration.enableNotificationEmail=false/registration.enableNotificationEmail=true/g" \ 
<br>
-e "s/smtp.host=smtp.andowson.com/smtp.host=smtp.other.com/g" \ 
<br>
-e "s/smtp.user=/smtp.user=username/g" \ 
<br>
-e "s/smtp.pwd=/smtp.pwd=password/g" \ 
<br>
-e "121,143d" \ 
<br>
-e "1,$$s/#db/db/g" \ 
<br>
-e "1,$$s/net.sf.hibernate/org.hibernate/g" \ 
<br>
-e "s/instantMessaging.server.name=jabber.andowson.com/instantMessaging.server.name=www.andowson.com/g" \ 
<br>
-e "s/instantMessaging.db.name=wildfire/instantMessaging.db.name=openfire/g" \ 
<br>
-e "s/instantMessaging.db.user=wildfire/instantMessaging.db.user=openfire/g" \ 
<br>
-e "s/instantMessaging.db.pass=wildfire/instantMessaging.db.pass=openfire/g" \ 
<br>
-e "s/cluster.catalinaport=8006/cluster.catalinaport=8105/" \ 
<br>
-e "s/cluster.ajpport=8009/cluster.ajpport=8109/" build.properties.default &gt; build.properties 
<br>
[/code] 
<br>
9.調整螢幕右上方語言選單，加入簡體中文(zh_CN)和正體中文(zh_TW) 
<br>
[code]sed -i -e "s/&lt;enabledLanguages&gt;en,de,fr,it,es&lt;\/enabledLanguages&gt;/&lt;enabledLanguages&gt;en,de,fr,it,es,zh_CN,zh_TW&lt;\/enabledLanguages&gt;/g" ~/download/olat3/webapp/WEB-INF/olat_config.xml.in[/code] 
<br>
10.修改系統自動產生之使用者預設的電子郵件網域名稱 
<br>
[code]sed -i -e "1,$$s/olat-newinstallation.org/andowson.com/g" ~/download/olat3/webapp/WEB-INF/olat_config.xml.in[/code] 
<br>
11.修正web.xml中註解 
<br>
[code]sed -i -e "13c\ &lt;\!-- default session timeout --&gt;" ~/download/olat3/webapp/WEB-INF/web.xml.in[/code] 
<br>
12.修正無法編譯的錯誤：刪除build.xml中findbugs區段，行號可由build.xml中找出 
<br>
[code]sed -i -e "1351,1364d" build.xml[/code] 
<br>
13.開始編譯 
<br>
[code]ant config-all 
<br>
ant build[/code] 
<br>
14.關閉Tomcat 
<br>
[code]sudo /etc/init.d/tomcat stop[/code] 
<br>
15.備份資料庫 
<br>
[code]sudo -u postgres pg_dump olat &gt; /tmp/olat.bak[/code] 
<br>
16.檢查是否有需要做資料庫更新 
<br>
[code]ls ~/download/olat3/database/postgresql[/code] 
<br>
17.找到檔案alter_6_1_1_to_6_2_0.sql，執行更新 
<br>
[code]sudo psql -U olat olat -f ~/download/olat3/database/postgresql/alter_6_1_1_to_6_2_0.sql[/code] 
<br>
18.將舊版程式搬到暫存區 
<br>
[code]sudo mv ~/www/olat /tmp/olat-6.1.1[/code] 
<br>
19.將檔案複製到~/www/olat目錄 
<br>
[code]cp -rf ~/download/olat3/webapp ~/www/olat 
<br>
cp -rf ~/download/olat3/htdocs/* ~/www/olat[/code] 
<br>
20.設定目錄寫入權限 
<br>
[code]sudo chmod 775 ~/www/olat/static 
<br>
sudo chmod 775 ~/www/olat/WEB-INF 
<br>
sudo chmod 775 -R ~/data/olatdata[/code] 
<br>
21.啟動Tomcat 
<br>
[code]sudo /etc/init.d/tomcat start[/code] 
<br>
22.開啟瀏覽器測試網站是否可以正常顯示首頁，檢查一下~/data/olatdata/logs/olat.log有無ERROR的訊息。 
<br>
如果一切正常則可以接下做，將openfire加上去 
<br>
23.啟用openfire設定 
<br>
[code]sed -i -e "s/instantMessaging.enable=false/instantMessaging.enable=true/g" build.properties[/code] 
<br>
24.重新編譯 
<br>
[code]ant config-all 
<br>
ant build[/code] 
<br>
25.關閉Tomcat 
<br>
[code]sudo /etc/init.d/tomcat stop[/code] 
<br>
26.將檔案複製到目錄中 
<br>
[code]cp -rf ~/download/olat3/webapp/WEB-INF/classes/* ~/www/olat/WEB-INF/classes/. 
<br>
cp -rf ~/download/olat3/webapp/WEB-INF/src/serviceconfig/* ~/www/olat/WEB-INF/src/serviceconfig/.[/code] 
<br>
27.啟動Tomcat 
<br>
[code]sudo /etc/init.d/tomcat start[/code] 
<br>
28.開啟瀏覽器測試網站是否可以正常顯示首頁，檢查一下~/data/olatdata/logs/olat.log有無ERROR的訊息。 
<br>
29.加上jsMath 
<br>
[code]ant jsmath 
<br>
ant build[/code] 
<br>
30.關閉Tomcat 
<br>
[code]sudo /etc/init.d/tomcat stop[/code] 
<br>
31.將檔案複製到目錄中 
<br>
[code]cp -rf ~/download/olat3/webapp/static/js/jsMath/* ~/www/olat/static/js/jsMath/. 
<br>
cp -rf ~/download/olat3/webapp/WEB-INF/classes/serviceconfig/* ~/www/olat/WEB-INF/classes/serviceconfig/. 
<br>
cp -rf ~/download/olat3/webapp/WEB-INF/src/serviceconfig/* ~/www/olat/WEB-INF/src/serviceconfig/.[/code] 
<br>
32.啟動Tomcat 
<br>
[code]sudo /etc/init.d/tomcat start[/code] 
<br>
如此就大功告成囉。 
<br>
以下附上所有的shell script寫法，只要將它先複製到記事本，再依您實際環境修改一下，然後開個[url=http://www.chiark.greenend.org.uk/~sgtatham/putty/]PuTTY[/url]或[url=http://www.csie.ntu.edu.tw/~piaip/pietty/]PieTTY[/url]視窗貼上即可。 
<br>
[code] 
<br>
# get OLAT source 
<br>
cd ~/download 
<br>
wget http://www.olat.org/downloads/stable/OLAT-6.2.1.zip 
<br>
unzip OLAT-6.2.1.zip 
<br>
mv olat3 OLAT-6.1.1 
<br>
mv OLAT-6.2.1-PUBLIC-* olat3 
<br>
cd olat3 
<br>
<br>
# config build.properties 
<br>
sed -e "s/\/usr\/local\/opt\/olat\/olat3/\/home\/andowson\/download\/olat3/g" \ 
<br>
-e "s/\/usr\/local\/opt\/olat\/olatdata/\/home\/andowson\/data\/olatdata/g" \ 
<br>
-e "s/\/usr\/local\/opt\/tomcat/\/var\/tomcat6/g" \ 
<br>
-e "1,$$s/www.myolat.com/www.andowson.com/g" \ 
<br>
-e "1,$$s/myolat.com/andowson.com/g" \ 
<br>
-e "1,$$s/myolat/andowson/g" \ 
<br>
-e "s/server.modjk.enabled=false/server.modjk.enabled=true/g" \ 
<br>
-e "55a\server.modjk.jvmRoute=worker1" \ 
<br>
-e "s/defaultcharset=ISO-8859-1/defaultcharset=UTF-8/g" \ 
<br>
-e "s/registration.enableNotificationEmail=false/registration.enableNotificationEmail=true/g" \ 
<br>
-e "s/smtp.host=smtp.andowson.com/smtp.host=smtp.other.com/g" \ 
<br>
-e "s/smtp.user=/smtp.user=username/g" \ 
<br>
-e "s/smtp.pwd=/smtp.pwd=password/g" \ 
<br>
-e "121,143d" \ 
<br>
-e "1,$$s/#db/db/g" \ 
<br>
-e "1,$$s/net.sf.hibernate/org.hibernate/g" \ 
<br>
-e "s/instantMessaging.server.name=jabber.andowson.com/instantMessaging.server.name=www.andowson.com/g" \ 
<br>
-e "s/instantMessaging.db.name=wildfire/instantMessaging.db.name=openfire/g" \ 
<br>
-e "s/instantMessaging.db.user=wildfire/instantMessaging.db.user=openfire/g" \ 
<br>
-e "s/instantMessaging.db.pass=wildfire/instantMessaging.db.pass=openfire/g" \ 
<br>
-e "s/cluster.catalinaport=8006/cluster.catalinaport=8105/" \ 
<br>
-e "s/cluster.ajpport=8009/cluster.ajpport=8109/" build.properties.default &gt; build.properties 
<br>
<br>
# adjust the original template config files 
<br>
# enable zh_CN and zh_TW on the top right menu 
<br>
sed -i -e "s/&lt;enabledLanguages&gt;en,de,fr,it,es&lt;\/enabledLanguages&gt;/&lt;enabledLanguages&gt;en,de,fr,it,es,zh_CN,zh_TW&lt;\/enabledLanguages&gt;/g" ~/download/olat3/webapp/WEB-INF/olat_config.xml.in 
<br>
# change domain name in email address 
<br>
sed -i -e "1,$$s/olat-newinstallation.org/andowson.com/g" ~/download/olat3/webapp/WEB-INF/olat_config.xml.in 
<br>
# fix the commnet style in XML 
<br>
sed -i -e "13c\ &lt;\!-- default session timeout --&gt;" ~/download/olat3/webapp/WEB-INF/web.xml.in 
<br>
<br>
# remove findbugs setting 
<br>
sed -i -e "1351,1364d" build.xml 
<br>
ant config-all 
<br>
ant build 
<br>
<br>
# stop Tomcat 
<br>
sudo /etc/init.d/tomcat stop 
<br>
<br>
# backup db 
<br>
sudo -u postgres pg_dump olat &gt; /tmp/olat.bak 
<br>
<br>
# apply db upgrade script 
<br>
sudo psql -U olat olat -f ~/download/olat3/database/postgresql/alter_6_1_1_to_6_2_0.sql 
<br>
<br>
# copy to the target directory 
<br>
sudo mv ~/www/olat /tmp/olat-6.1.1 
<br>
cp -rf ~/download/olat3/webapp ~/www/olat 
<br>
cp -rf ~/download/olat3/htdocs/* ~/www/olat 
<br>
sudo chmod 775 ~/www/olat/static 
<br>
sudo chmod 775 ~/www/olat/WEB-INF 
<br>
sudo chmod 775 -R ~/data/olatdata 
<br>
<br>
# start Tomcat 
<br>
sudo /etc/init.d/tomcat start[/code] 
<br>
[code]# endable OpenFire 
<br>
sed -i -e "s/instantMessaging.enable=false/instantMessaging.enable=true/g" build.properties 
<br>
ant config-all 
<br>
ant build 
<br>
<br>
# stop Tomcat 
<br>
sudo /etc/init.d/tomcat stop 
<br>
<br>
# copy to the target directory 
<br>
cp -rf ~/download/olat3/webapp/WEB-INF/classes/* ~/www/olat/WEB-INF/classes/. 
<br>
cp -rf ~/download/olat3/webapp/WEB-INF/src/serviceconfig/* ~/www/olat/WEB-INF/src/serviceconfig/. 
<br>
<br>
# start Tomcat 
<br>
sudo /etc/init.d/tomcat start[/code] 
<br>
<br>
[code]# enable jsMath 
<br>
ant jsmath 
<br>
ant build 
<br>
<br>
# stop Tomcat 
<br>
sudo /etc/init.d/tomcat stop 
<br>
<br>
# copy to the target directory 
<br>
cp -rf ~/download/olat3/webapp/static/js/jsMath/* ~/www/olat/static/js/jsMath/. 
<br>
cp -rf ~/download/olat3/webapp/WEB-INF/classes/serviceconfig/* ~/www/olat/WEB-INF/classes/serviceconfig/. 
<br>
cp -rf ~/download/olat3/webapp/WEB-INF/src/serviceconfig/* ~/www/olat/WEB-INF/src/serviceconfig/. 
<br>
<br>
# start Tomcat 
<br>
sudo /etc/init.d/tomcat start 
<br>
[/code]]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/358/685.page</guid>
				<link>https://forum.andowson.com/posts/preList/358/685.page</link>
				<pubDate><![CDATA[Thu, 29 Oct 2009 00:03:59]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>OLAT 6.1.1安裝筆記(CentOS 5.3 + PostgreSQL 8.1.11 + Tomcat 6.0.18 + Openfire 3.6.4)</title>
				<description><![CDATA[ OLAT 自6.1.0版起開始支援Cluster架構和更容易引進多國語言的翻譯工具，最近更新的6.1.1版，修正了很多新版剛發行時的bug，如修正了一些正體中文註冊連結的問題，因此，我比較推薦安裝這個版本。底下是整個全新安裝的步驟。 
<br>
<br>
一、設計理念 
<br>
OLAT是一個網頁應用系統，可以在Tomcat上安裝及執行，後端可以接MySQL或PostgreSQL或其他Hibernate支援的資料庫，如果要執行聊天室功能，我們還需要安裝Openfire，如果要支援Cluster，還要安裝JMS Server(如ActiveMQ)。由於設備有限，我以全部安裝在單部主機(CentOS 5.3 Linux)方式介紹，不考慮Cluster的模式。 
<br>
<br>
我們預計安裝OLAT的目錄是/home/andowson/www/olat，底下如未特別聲明，均是以andowson身份執行（[url=http://www.andowson.com/posts/list/166.page]具有sudo權限[/url]）。 
<br>
<br>
我們預計安裝下列元素： 
<br>
1. JDK+Apache+Tomcat+mod_jk 
<br>
2. PostgreSQL 
<br>
3. Ant 
<br>
4. Openfire 
<br>
5. OLAT 
<br>
<br>
二、實作步驟 
<br>
1.可以參考這篇文章完成：[url]http://www.andowson.com/posts/list/315.page[/url]，並參考這篇[url]http://www.andowson.com/posts/list/309.page[/url]建立一個Virtual Host，在此就不浪費篇幅。 
<br>
2.PostgreSQL的安裝及啟動可以透過下列的指令來完成(以root身份執行)： 
<br>
[code] 
<br>
yum -y install postgresql-server 
<br>
sed -i -e "s/#listen_addresses = 'localhost'/listen_addresses = '*'/g" /var/lib/pgsql/data/postgresql.conf 
<br>
<br>
sed -i -e "s/local all all ident sameuser/local all all trust/g" /var/lib/pgsql/data/pg_hba.conf 
<br>
sed -i -e "s/host all all 127.0.0.1\/32 ident sameuser/host all all 127.0.0.1\/32 md5/g" /var/lib/pgsql/data/pg_hba.conf 
<br>
sed -i -e "69a\host all all 192.168.1.0\/24 md5" /var/lib/pgsql/data/pg_hba.conf 
<br>
<br>
chkconfig --level 235 postgresql on 
<br>
service postgresql start 
<br>
[/code] 
<br>
3.Ant安裝也很簡單，只需要下載並解壓縮即可，這裡我們以安裝1.7.1版為例 
<br>
[code] 
<br>
cd ~/download 
<br>
wget http://apache.ntu.edu.tw/ant/binaries/apache-ant-1.7.1-bin.tar.gz 
<br>
sudo tar zxvf apache-ant-1.7.1-bin.tar.gz -C /usr/local 
<br>
[/code] 
<br>
接著設定環境變數ANT_HOME 
<br>
vi ~/.bash_profile 
<br>
[code] 
<br>
ANT_HOME=/usr/local/apache-ant-1.7.1 
<br>
JAVA_HOME=/usr/java/latest 
<br>
PATH=$PATH:$HOME/bin:$ANT_HOME/bin:$JAVA_HOME/bin 
<br>
<br>
export PATH ANT_HOME JAVA_HOME 
<br>
[/code] 
<br>
執行source將設定載入 
<br>
source ~/.bash_profile 
<br>
<br>
4.安裝Openfire(以root身份執行)： 
<br>
[code] 
<br>
cd /root/setup 
<br>
wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire-3.6.4-1.i386.rpm 
<br>
rpm -ivh openfire-3.6.4-1.i386.rpm 
<br>
chmod 755 /opt/openfire 
<br>
[/code] 
<br>
建立資料庫openfire 
<br>
[code] 
<br>
sudo -u postgres psql -c "CREATE USER openfire WITH ENCRYPTED PASSWORD 'openfire' VALID UNTIL 'infinity' CREATEDB;" template1 
<br>
sudo -u postgres psql -c "CREATE DATABASE openfire WITH ENCODING 'UNICODE';" -U openfire template1 
<br>
sudo -u postgres psql -c "ALTER USER openfire NOCREATEDB;" template1 
<br>
sudo -u postgres psql openfire openfire -f /opt/openfire/resources/database/openfire_postgresql.sql 
<br>
[/code] 
<br>
手動設定設定檔openfire.xml，將下列設定貼在&lt;/jive&gt;之前 
<br>
vi /opt/openfire/conf/openfire.xml 
<br>
[code] 
<br>
 &lt;connectionProvider&gt; 
<br>
 &lt;className&gt;org.jivesoftware.database.DefaultConnectionProvider&lt;/className&gt; 
<br>
 &lt;/connectionProvider&gt; 
<br>
 &lt;database&gt; 
<br>
 &lt;defaultProvider&gt; 
<br>
 &lt;driver&gt;org.postgresql.Driver&lt;/driver&gt; 
<br>
 &lt;serverURL&gt;jdbc:postgresql://localhost:5432/openfire&lt;/serverURL&gt; 
<br>
 &lt;username&gt;openfire&lt;/username&gt; 
<br>
 &lt;password&gt;openfire&lt;/password&gt; 
<br>
 &lt;testSQL&gt;select 1&lt;/testSQL&gt; 
<br>
 &lt;testBeforeUse&gt;true&lt;/testBeforeUse&gt; 
<br>
 &lt;testAfterUse&gt;true&lt;/testAfterUse&gt; 
<br>
 &lt;minConnections&gt;1&lt;/minConnections&gt; 
<br>
 &lt;maxConnections&gt;25&lt;/maxConnections&gt; 
<br>
 &lt;connectionTimeout&gt;1.0&lt;/connectionTimeout&gt; 
<br>
 &lt;/defaultProvider&gt; 
<br>
 &lt;/database&gt; 
<br>
 &lt;setup&gt;true&lt;/setup&gt; 
<br>
[/code] 
<br>
調整openfire在系統開機時自動啟動的順序（要在PostgreSQL之後，Tomcat之前） 
<br>
sed -i -e "s/99 1/80 20/g" /etc/init.d/openfire 
<br>
調整openfire啟動時的JVM參數 
<br>
sed -i -e "s/-server/-server -Xss256k/g" /etc/init.d/openfire 
<br>
設定開機自動啟動openfire 
<br>
chkconfig openfire on 
<br>
啟動openfire 
<br>
service openfire start 
<br>
<br>
啟動之後，開啟瀏覽器到http://&lt;your_server_name&gt;:9090/，以admin/admin登入 
<br>
調整一些系統設定，如mail server，不允許使用者建立帳號跟修改密碼等 
<br>
接著下載OLAT plugin 
<br>
http://www.olat.org/downloads/stable/olatUserAndGroupService.jar 
<br>
然後切換到Plugin頁面，將這個jar檔匯入即可。 
<br>
<br>
注意：如果您有設定iptables或其他防火牆，建議先關閉，等測試沒問題後再打開，並增加Openfire所需要的port。 
<br>
<br>
5.終於到了主菜了，安裝OLAT，我們需要先下載OLAT原始碼的壓縮檔，解壓縮，建立build.properties，然後再執行ant config-all, ant build來編譯。 
<br>
[code] 
<br>
# get OLAT source 
<br>
cd ~/download 
<br>
wget http://www.olat.org/downloads/stable/OLAT-6.1.1.zip 
<br>
unzip OLAT-6.1.1.zip 
<br>
mv OLAT-6.1.1-PUBLIC-* olat3 
<br>
cd olat3 
<br>
# config build.properties 
<br>
sed -e "s/\/usr\/local\/opt\/olat\/olat3/\/home\/andowson\/download\/olat3/g" \ 
<br>
-e "s/\/usr\/local\/opt\/olat\/olatdata/\/home\/andowson\/data\/olatdata/g" \ 
<br>
-e "s/\/usr\/local\/opt\/tomcat/\/var\/tomcat6/g" \ 
<br>
-e "1,$$s/www.myolat.com/www.andowson.com/g" \ 
<br>
-e "1,$$s/myolat.com/andowson.com/g" \ 
<br>
-e "1,$$s/myolat/andowson/g" \ 
<br>
-e "s/server.modjk.enabled=false/server.modjk.enabled=true/g" \ 
<br>
-e "55a\server.modjk.jvmRoute=worker1" \ 
<br>
-e "s/defaultcharset=ISO-8859-1/defaultcharset=UTF-8/g" \ 
<br>
-e "s/registration.enableNotificationEmail=false/registration.enableNotificationEmail=true/g" \ 
<br>
-e "s/smtp.host=smtp.andowson.com/smtp.host=smtp.yourcompany.com/g" \ 
<br>
-e "s/smtp.user=/smtp.user=username/g" \ 
<br>
-e "s/smtp.pwd=/smtp.pwd=password/g" \ 
<br>
-e "120,142d" \ 
<br>
-e "1,$$s/#db/db/g" \ 
<br>
-e "1,$$s/net.sf.hibernate/org.hibernate/g" \ 
<br>
-e "s/instantMessaging.enable=false/instantMessaging.enable=true/g" \ 
<br>
-e "s/instantMessaging.server.name=jabber.andowson.com/instantMessaging.server.name=www.andowson.com/g" \ 
<br>
-e "s/instantMessaging.db.name=wildfire/instantMessaging.db.name=openfire/g" \ 
<br>
-e "s/instantMessaging.db.user=wildfire/instantMessaging.db.user=openfire/g" \ 
<br>
-e "s/instantMessaging.db.pass=wildfire/instantMessaging.db.pass=openfire/g" \ 
<br>
-e "s/cluster.catalinaport=8006/cluster.catalinaport=8105/" \ 
<br>
-e "s/cluster.ajpport=8009/cluster.ajpport=8109/" build.properties.default &gt; build.properties 
<br>
# adjust the original template config files 
<br>
sed -i -e "s/&lt;enabledLanguages&gt;en,de,fr,it,es&lt;\/enabledLanguages&gt;/&lt;enabledLanguages&gt;en,de,fr,it,es,zh_CN,zh_TW&lt;\/enabledLanguages&gt;/g" ~/download/olat3/webapp/WEB-INF/olat_config.xml.in 
<br>
sed -i -e "1,$$s/olat-newinstallation.org/andowson.com/g" ~/download/olat3/webapp/WEB-INF/olat_config.xml.in 
<br>
sed -i -e "13c\ &lt;\!-- default session timeout --&gt;" ~/download/olat3/webapp/WEB-INF/web.xml.in 
<br>
ant config-all 
<br>
ant build 
<br>
[/code] 
<br>
接著我們需要先建立一個olat的資料庫再來執行ant dbsetup_postgreSQL。 
<br>
[code]# create database olat and testdb 
<br>
sudo -u postgres psql -c "CREATE USER olat WITH ENCRYPTED PASSWORD 'olat' VALID UNTIL 'infinity' CREATEDB;" template1 
<br>
sudo -u postgres psql -c "CREATE DATABASE olat WITH ENCODING 'UNICODE';" -U olat template1 
<br>
sudo -u postgres psql -c "CREATE DATABASE testdb WITH ENCODING 'UNICODE';" -U olat template1 
<br>
sudo -u postgres psql -c "ALTER USER olat NOCREATEDB;" template1[/code] 
<br>
這裡要注意的是PostgreSQL 8.2之前的版本尚未支援drop table if exists這種語法，因在CentOS 5.3發行的是PostgreSQL 8.1.11的版本，由於執行dbsetup_postgreSQL時會先執行deleteDatabase.sql，第一次安裝時由於資料庫是空的，會失敗，故我們需要修正一下deleteDatabase.sql裡面的語法。我們可以先將deleteDatabase.sql換成一個空檔，等第一次建立好table後再換回來。另外第一次啟動時也會執行alter_6_0_x_to_6_1_0.sql，故我們也要同步修正這邊的drop table if exists語法。 
<br>
[code] 
<br>
# PostgreSQL 8.1 doesn't support if exists 
<br>
sed -i -e "1,$$s/if exists //g" ~/download/olat3/database/postgresql/deleteDatabase.sql 
<br>
sed -i -e "1,$$s/if exists //g" ~/download/olat3/database/postgresql/alter_6_0_x_to_6_1_0.sql 
<br>
<br>
# First time install, drop table will fail, use an empty file instead 
<br>
mv ~/download/olat3/database/postgresql/deleteDatabase.sql ~/download/olat3/database/postgresql/deleteDatabase.sql.bak 
<br>
touch ~/download/olat3/database/postgresql/deleteDatabase.sql 
<br>
ant dbsetup_postgreSQL 
<br>
mv ~/download/olat3/database/postgresql/deleteDatabase.sql.bak ~/download/olat3/database/postgresql/deleteDatabase.sql[/code] 
<br>
<br>
接著就可以把編譯好的程式及網頁部署到我們的目的資料夾~/www/olat了，另外OLAT是把程式跟資料分開存放的，這樣子將來要升級新版只要換掉程式碼的目錄即可，我們選定~/data/olatdata作為這個目錄。由於OLAT會將一些檔案解壓縮到static和WEB-INF下，所以記得變更目錄的寫入權限。 
<br>
[code] 
<br>
# deploy to web directory 
<br>
cp -rf ~/download/olat3/webapp ~/www/olat 
<br>
cp -rf ~/download/olat3/htdocs/* ~/www/olat 
<br>
sudo chgrp -R tomcat ~/www 
<br>
sudo chgrp -R tomcat ~/data/olatdata 
<br>
sudo chmod 775 ~/www/olat/static 
<br>
sudo chmod 775 ~/www/olat/WEB-INF 
<br>
sudo chmod 775 -R ~/data/olatdata 
<br>
[/code] 
<br>
最後，我們要設定讓Apache將/olat開頭的網址交給Tomcat處理，然後重新啟動Tomcat和Apache。 
<br>
[code] 
<br>
# add httpd handle setting 
<br>
echo '/olat/*=loadbalancer' &gt;&gt; /etc/httpd/conf/uriworkermap.properties 
<br>
sudo /etc/init.d/tomcat stop 
<br>
sudo killall -9 /usr/java/latest/bin/java 
<br>
sudo /etc/init.d/tomcat start 
<br>
sudo /etc/init.d/httpd restart 
<br>
[/code] 
<br>
<br>
到此，差不多大功告成了，用administrator/olat登入http://&lt;your_server_name&gt;/olat/dmz/吧！如果可以的話，建議先修改一下密碼再往下進行新的任務囉！]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/322/602.page</guid>
				<link>https://forum.andowson.com/posts/preList/322/602.page</link>
				<pubDate><![CDATA[Mon, 25 May 2009 00:35:17]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>回覆:OLAT 6.0.4-&gt;6.0.6升級筆記</title>
				<description><![CDATA[ OLAT是用Java語言開發的LMS，支援UTF-8編碼，因此您可以輸入中文課程名稱，並能正常顯示。需要注意的是，教材內容如果有中文字元需要用UTF-8編碼才能正常顯示。]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/284/589.page</guid>
				<link>https://forum.andowson.com/posts/preList/284/589.page</link>
				<pubDate><![CDATA[Wed, 22 Apr 2009 13:17:04]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>[轉載]OLAT Framework </title>
				<description><![CDATA[ 這些我在網路上找到由JGS goodsolutions GmbH對OLAT的Framework所做的說明，如果萬一原來的連結無法下載時可以下載本站的附檔。 
<br>
<br>
http://www.jugs.ch/html/events/slides/051208_olat.ppt 
<br>
http://www.goodsolutions.ch/shared/resources/framework.pdf 
<br>
<br>]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/285/514.page</guid>
				<link>https://forum.andowson.com/posts/preList/285/514.page</link>
				<pubDate><![CDATA[Mon, 24 Nov 2008 01:09:30]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>OLAT 6.0.0-&gt;6.0.4升級筆記</title>
				<description><![CDATA[ [code]cd ~/download 
<br>
mv olat3 olat-6.0.0 
<br>
wget http://www.olat.org/downloads/stable/OLAT-6.0.4.zip 
<br>
unzip OLAT-6.0.4.zip 
<br>
mv OLAT-6.0.4-FINAL-* olat3 
<br>
cd olat3 
<br>
sed -e "s/\/usr\/local\/opt\/olat\/olat3/\/home\/andowson\/download\/olat3/g" \ 
<br>
-e "s/\/usr\/local\/opt\/olat\/olatdata/\/home\/andowson\/www\/data\/olatdata/g" \ 
<br>
-e "1,$$s/myolat/andowson/g" \ 
<br>
-e "s/smtp.host=smtp.andowson.com/smtp.host=mail.andowson.com/" \ 
<br>
-e "s/\/usr\/local\/opt\/tomcat/\/var\/tomcat5/g" \ 
<br>
-e "1,$$s/net.sf.hibernate/org.hibernate/g" \ 
<br>
-e "48c\server.modjk.enabled=true" \ 
<br>
-e "95,117d" \ 
<br>
-e "1,$$s/#db/db/g" \ 
<br>
-e "s/instantMessaging.enable=false/instantMessaging.enable=true/" \ 
<br>
-e "s/instantMessaging.server.name=jabber.andowson.com/instantMessaging.server.name=www.andowson.com/" \ 
<br>
-e "s/instantMessaging.generateTestUsers=false/instantMessaging.generateTestUsers=true/" \ 
<br>
-e "s/instantMessaging.db.name=wildfire/instantMessaging.db.name=openfire/" \ 
<br>
-e "s/instantMessaging.db.user=wildfire/instantMessaging.db.user=olat/" \ 
<br>
-e "s/instantMessaging.db.pass=wildfire/instantMessaging.db.pass=olat/" build.properties.default &gt; build.properties 
<br>
ant install 
<br>
ant jsmath 
<br>
sudo /etc/init.d/tomcat stop 
<br>
mv ~/www/olat /tmp/olat-6.0.0 
<br>
cp -rf ~/download/olat3/webapp ~/www/olat 
<br>
cp -rf ~/download/olat3/htdocs/* ~/www/olat 
<br>
sed -i -e "13c\ &lt;\!-- default session timeout --&gt;" ~/www/olat/WEB-INF/web.xml 
<br>
rm -rf ~/www/olat/WEB-INF/src 
<br>
rm -rf ~/www/olat/WEB-INF/patchesSrc 
<br>
rm -rf ~/www/olat/WEB-INF/test 
<br>
cp /tmp/olat-6.0.0/WEB-INF/classes/hibernate.properties ~/www/olat/WEB-INF/classes/. 
<br>
chgrp -R tomcat ~/www/olat 
<br>
chgrp -R tomcat ~/www/data/olatdata 
<br>
chmod 775 ~/www/olat/static 
<br>
chmod 775 ~/www/olat/WEB-INF 
<br>
sudo -u postgres pg_dump olat &gt; /tmp/olat.bak 
<br>
sudo psql -U olat olat -f /home/andowson/download/olat3/database/postgresql/alter_6_0_0_to_6_0_3.sql 
<br>
sudo psql -U olat olat -f ~/download/olat3/database/postgresql/alter_6_0_0_to_6_0_3.sql 
<br>
sudo /etc/init.d/tomcat start[/code]]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/283/512.page</guid>
				<link>https://forum.andowson.com/posts/preList/283/512.page</link>
				<pubDate><![CDATA[Sat, 22 Nov 2008 00:24:47]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>OLAT 5.2.3-&gt;6.0.0升級筆記</title>
				<description><![CDATA[ 這個週末花了兩天終於把現有的OLAT由5.2.3升級至6.0.0, 步驟如下: 
<br>
[code] 
<br>
cd ~/download 
<br>
mv olat3 olat-5.2.3 
<br>
wget http://www.olat.org/downloads/stable/OLAT-6.0.0.zip 
<br>
unzip OLAT-6.0.0.zip 
<br>
mv OLAT-6.0.0-PUBLIC-* olat3 
<br>
cd olat3 
<br>
sed -e "s/\/usr\/local\/opt\/olat\/olat3/\/home\/andowson\/download\/olat3/g" \ 
<br>
-e "s/\/usr\/local\/opt\/olat\/olatdata/\/home\/andowson\/www\/data\/olatdata/g" \ 
<br>
-e "1,$$s/myolat/andowson/g" \ 
<br>
-e "s/smtp.host=smtp.andowson.com/smtp.host=mail.andowson.com/" \ 
<br>
-e "s/\/usr\/local\/opt\/tomcat/\/var\/tomcat5/g" \ 
<br>
-e "1,$$s/net.sf.hibernate/org.hibernate/g" \ 
<br>
-e "48c\server.modjk.enabled=true" \ 
<br>
-e "95,117d" \ 
<br>
-e "1,$$s/#db/db/g" \ 
<br>
-e "s/instantMessaging.enable=false/instantMessaging.enable=true/" \ 
<br>
-e "s/instantMessaging.server.name=jabber.andowson.com/instantMessaging.server.name=www.andowson.com/" \ 
<br>
-e "s/instantMessaging.generateTestUsers=false/instantMessaging.generateTestUsers=true/" \ 
<br>
-e "s/instantMessaging.db.name=wildfire/instantMessaging.db.name=openfire/" \ 
<br>
-e "s/instantMessaging.db.user=wildfire/instantMessaging.db.user=olat/" \ 
<br>
-e "s/instantMessaging.db.pass=wildfire/instantMessaging.db.pass=olat/" build.properties.default &gt; build.properties 
<br>
ant install 
<br>
ant jsmath 
<br>
sudo /etc/init.d/tomcat stop 
<br>
mv ~/www/olat /tmp/olat-5.2.3 
<br>
cp -rf ~/download/olat3/webapp ~/www/olat 
<br>
cp -rf ~/download/olat3/htdocs/* ~/www/olat 
<br>
sed -i -e "13c\ &lt;\!-- default session timeout --&gt;" ~/www/olat/WEB-INF/web.xml 
<br>
rm -rf ~/www/olat/WEB-INF/src 
<br>
rm -rf ~/www/olat/WEB-INF/patchesSrc 
<br>
rm -rf ~/www/olat/WEB-INF/test 
<br>
cp /tmp/olat-5.2.3/WEB-INF/classes/hibernate.properties ~/www/olat/WEB-INF/classes/. 
<br>
chgrp -R tomcat ~/www/olat 
<br>
chgrp -R tomcat ~/www/data/olatdata 
<br>
chmod 775 ~/www/olat/static 
<br>
sudo -u postgres pg_dump olat &gt; /tmp/olat.bak 
<br>
sudo psql -U olat olat -f /home/andowson/download/olat3/database/postgresql/alter_5_2_x_to_6_0_0.sql 
<br>
sudo /etc/init.d/tomcat start 
<br>
[/code] 
<br>
要注意的地方是原始碼內附的PostgreSQL升級SQL script有問題，字串應該用單引號來括起來，而不是用雙引號，另外有些欄位名稱也不對，必須調整後才能正常執行。好在我有先執行資料庫備份，再執行那條upgrade的SQL，不然這個SQL script只能執行一次，並且會把o_user裡面的一些欄位drop掉（這樣子你連執行第二次的機會都沒有了）。所以記住：要做任何系統升級之前，備份！備份！備份！ 
<br>
以下是我修改後的alter_5_2_x_to_6_0_0.sql: 
<br>
[code=sql] 
<br>
-- 
<br>
-- new talbe to store the users properties 
<br>
create table o_userproperty ( 
<br>
 fk_user_id int8 not null, 
<br>
 propname varchar(255) not null, 
<br>
 propvalue varchar(255), 
<br>
 primary key (fk_user_id, propname) 
<br>
); 
<br>
create index propvalue_idx on o_userproperty (propvalue); 
<br>
alter table o_userproperty add constraint FK4B04D83FD1A80C95 foreign key (fk_user_id) references o_user; 
<br>
<br>
-- 
<br>
-- migrate data from old user table to new userproperty table 
<br>
-- make sure you get this right the first time, you can not run this twice! 
<br>
insert into o_userproperty (fk_user_id, propname, propvalue) select user_id, 'firstName', firstname from o_user where firstname IS NOT NULL AND firstname!=''; 
<br>
alter table o_user drop firstname; 
<br>
<br>
insert into o_userproperty (fk_user_id, propname, propvalue) select user_id, 'lastName', lastname from o_user where lastname IS NOT NULL AND lastname!=''; 
<br>
alter table o_user drop lastname; 
<br>
<br>
insert into o_userproperty (fk_user_id, propname, propvalue) select user_id, 'email', email from o_user where email IS NOT NULL AND email!=''; 
<br>
alter table o_user drop email; 
<br>
<br>
insert into o_userproperty (fk_user_id, propname, propvalue) select user_id, 'birthDay', birthday from o_user where birthday IS NOT NULL; 
<br>
alter table o_user drop birthday; 
<br>
<br>
insert into o_userproperty (fk_user_id, propname, propvalue) select user_id, 'gender', gender from o_user where gender IS NOT NULL AND gender!=''; 
<br>
alter table o_user drop gender; 
<br>
<br>
insert into o_userproperty (fk_user_id, propname, propvalue) select user_id, 'telMobile', telmobile from o_user where telmobile IS NOT NULL AND telmobile!=''; 
<br>
alter table o_user drop telmobile; 
<br>
<br>
insert into o_userproperty (fk_user_id, propname, propvalue) select user_id, 'telOffice', teloffice from o_user where teloffice IS NOT NULL AND teloffice!=''; 
<br>
alter table o_user drop teloffice; 
<br>
<br>
insert into o_userproperty (fk_user_id, propname, propvalue) select user_id, 'telPrivate', telprivate from o_user where telprivate IS NOT NULL AND telprivate!=''; 
<br>
alter table o_user drop telprivate; 
<br>
<br>
insert into o_userproperty (fk_user_id, propname, propvalue) select user_id, 'institutionalUserIdentifier', institutionaluseridentifier from o_user where institutionaluseridentifier IS NOT NULL AND institutionaluseridentifier!=''; 
<br>
alter table o_user drop institutionaluseridentifier; 
<br>
<br>
insert into o_userproperty (fk_user_id, propname, propvalue) select user_id, 'institutionalName', institutionalname from o_user where institutionalname IS NOT NULL AND institutionalname!=''; 
<br>
alter table o_user drop institutionalname; 
<br>
<br>
insert into o_userproperty (fk_user_id, propname, propvalue) select user_id, 'institutionalEmail', institutionalemail from o_user where institutionalemail IS NOT NULL AND institutionalemail!=''; 
<br>
alter table o_user drop institutionalemail; 
<br>
<br>
insert into o_userproperty (fk_user_id, propname, propvalue) select user_id, 'street', street from o_user where street IS NOT NULL AND street!=''; 
<br>
alter table o_user drop street; 
<br>
<br>
insert into o_userproperty (fk_user_id, propname, propvalue) select user_id, 'extendedAddress', extendedaddress from o_user where extendedaddress IS NOT NULL AND extendedaddress!=''; 
<br>
alter table o_user drop extendedaddress; 
<br>
<br>
insert into o_userproperty (fk_user_id, propname, propvalue) select user_id, 'poBox', pobox from o_user where pobox IS NOT NULL AND pobox!=''; 
<br>
alter table o_user drop pobox; 
<br>
<br>
insert into o_userproperty (fk_user_id, propname, propvalue) select user_id, 'zipCode', zipcode from o_user where zipcode IS NOT NULL AND zipcode!=''; 
<br>
alter table o_user drop zipcode; 
<br>
<br>
insert into o_userproperty (fk_user_id, propname, propvalue) select user_id, 'region', region from o_user where region IS NOT NULL AND region!=''; 
<br>
alter table o_user drop region; 
<br>
<br>
insert into o_userproperty (fk_user_id, propname, propvalue) select user_id, 'city', city from o_user where city IS NOT NULL AND city!=''; 
<br>
alter table o_user drop city; 
<br>
<br>
insert into o_userproperty (fk_user_id, propname, propvalue) select user_id, 'country', country from o_user where country IS NOT NULL AND country!=''; 
<br>
alter table o_user drop country; 
<br>
-- 
<br>
-- end user properties migration 
<br>
<br>
-- new table to store the read messages, migrate the read messages from the o_property to the new table 
<br>
create table o_readmessage ( 
<br>
 id int8 not null, 
<br>
 lastmodified timestamp not null, 
<br>
 creationdate timestamp, 
<br>
 identity_id int8 not null, 
<br>
 forum_id int8 not null, 
<br>
 message_id int8 not null, 
<br>
 primary key (id)); 
<br>
create index identity_forum_idx on o_readmessage(identity_id, forum_id); 
<br>
<br>
insert into o_readmessage (id, lastmodified, creationdate, identity_id, forum_id, message_id) select id, lastmodified, creationdate, identity, resourcetypeid, longvalue from o_property where category='rvst'; 
<br>
delete from o_property where category='rvst'; 
<br>
<br>
-- end read messages 
<br>
<br>
-- update fontsize to new relative style 
<br>
update o_user set fontsize = '110' where fontsize = 'large'; 
<br>
update o_user set fontsize = '100' where fontsize = 'normal'; 
<br>
update o_user set fontsize = '90' where fontsize = 'small'; 
<br>
-- end fontsize update 
<br>
[/code]]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/267/441.page</guid>
				<link>https://forum.andowson.com/posts/preList/267/441.page</link>
				<pubDate><![CDATA[Mon, 25 Aug 2008 00:23:59]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>OLAT和Moodle的比較</title>
				<description><![CDATA[ 今天找到了JGS [i][color=red]good[/color][/i]solutions GmbH一篇比較OLAT和Moodle的文章，[url=http://www.frentix.com/de/olat/docu/OLAT-MOODLE-en.pdf]OLAT-Moodle comparison[/url]，對於想要找Open Source e-Learning Platform的人可以做個參考。]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/217/329.page</guid>
				<link>https://forum.andowson.com/posts/preList/217/329.page</link>
				<pubDate><![CDATA[Wed, 30 Jan 2008 23:29:46]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>OLAT 5.2.2-&gt;5.2.3升級筆記</title>
				<description><![CDATA[ 今天花了一整天終於把現有的OLAT由5.2.2升級至5.2.3, 步驟如下: 
<br>
[code] 
<br>
cd ~/download 
<br>
mv olat3 olat-5.2.2 
<br>
wget http://www.olat.org/downloads/stable/OLAT-5.2.3.zip 
<br>
unzip OLAT-5.2.3.zip 
<br>
mv OLAT-5.2.3-PUBLIC-* olat3 
<br>
cd olat3 
<br>
sed -e "s/\/usr\/local\/opt\/olat\/olat3/\/home\/andowson\/download\/olat3/g" \ 
<br>
-e "s/\/usr\/local\/opt\/olat\/olatdata/\/home\/andowson\/www\/olatdata/g" \ 
<br>
-e "1,$$s/myolat/andowson/g" \ 
<br>
-e "s/smtp.host=smtp.andowson.com/smtp.host=mail.andowson.com/" \ 
<br>
-e "s/\/usr\/local\/opt\/tomcat/\/var\/tomcat5/g" \ 
<br>
-e "1,$$s/net.sf.hibernate/org.hibernate/g" \ 
<br>
-e "48c\server.modjk.enabled=true" \ 
<br>
-e "86,108d" \ 
<br>
-e "1,$$s/#db/db/g" \ 
<br>
-e "s/instantMessaging.enable=false/instantMessaging.enable=true/" \ 
<br>
-e "s/instantMessaging.server.name=jabber.andowson.com/instantMessaging.server.name=www.andowson.com/" \ 
<br>
-e "s/instantMessaging.generateTestUsers=false/instantMessaging.generateTestUsers=true/" \ 
<br>
-e "s/instantMessaging.db.name=wildfire/instantMessaging.db.name=openfire/" \ 
<br>
-e "s/instantMessaging.db.user=wildfire/instantMessaging.db.user=olat/" \ 
<br>
-e "s/instantMessaging.db.pass=wildfire/instantMessaging.db.pass=olat/" build.properties.default &gt; build.properties 
<br>
ant install 
<br>
ant jsmath 
<br>
sudo /etc/init.d/tomcat stop 
<br>
mv ~/www/olat /tmp/olat-5.2.2 
<br>
cp -rf ~/download/olat3/webapp ~/www/olat 
<br>
cp -rf ~/download/olat3/htdocs/* ~/www/olat 
<br>
sed -i -e "13c\ &lt;\!-- default session timeout --&gt;" ~/www/olat/WEB-INF/web.xml 
<br>
rm -rf ~/www/olat/WEB-INF/src 
<br>
rm -rf ~/www/olat/WEB-INF/patchesSrc 
<br>
chgrp -R tomcat ~/www/olat 
<br>
chgrp -R tomcat ~/www/olatdata 
<br>
chmod 775 ~/www/olat/static 
<br>
sudo /etc/init.d/tomcat start 
<br>
[/code]]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/213/322.page</guid>
				<link>https://forum.andowson.com/posts/preList/213/322.page</link>
				<pubDate><![CDATA[Mon, 21 Jan 2008 01:47:48]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>OLAT 5.2.2 Wiki: exception while rendering component</title>
				<description><![CDATA[ 今天試著熟悉一下OLAT的功能, Demo course一個一個去try, 到了Demo course wiki的時候發現無法用Search去新增wiki, 出現下面的錯誤訊息: 
<br>
[quote] 
<br>
2007-10-15 00:00:39,911 [TP-Processor17] ERROR Window - OLAT::ERROR ^%^ E1 ^%^ org.olat.core.gui.components ^%^ administrator ^%^ 220.139.220.139 ^%^ <a class="snap_shots" href="http://www.andowson.com/olat/auth/1%3A-1%3A0%3A0%3A0/" target="_blank">http://www.andowson.com/olat/auth/1%3A-1%3A0%3A0%3A0/</a> ^%^ Mozilla/5.0 (Windows; U; Windows NT 6.0; zh-TW; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7 ^%^ **RedScreen** exception while rendering component 'wikiarticle' (org.olat.core.gui.components.velocity.VelocityContainer) listener:[org.olat.modules.wiki.WikiMainController@14cd198 [cListener:-]]
<br>
Message of exception: MethodInvocationException occured while merging template: methName:render, refName:r ::_:: ::_:: ^%^ &gt;&gt;&gt;stack of 1.cause::org.olat.core.logging.OLATRuntimeException: exception while rendering component 'wikiarticle' (org.olat.core.gui.components.velocity.VelocityContainer) listener:[org.olat.modules.wiki.WikiMainController@14cd198 [cListener:-]]
<br>
Message of exception: MethodInvocationException occured while merging template: methName:render, refName:r -&gt; at org.olat.core.gui.components.Window.dispatchRequest(Window.java:533) at org.olat.core.gui.components.Window.doDispatchRequest(Window.java:153) at org.olat.core.gui.components.Component.dispatchRequest(Component.java:119) at org.olat.dispatcher.AuthenticatedDispatcher.execute(AuthenticatedDispatcher.java:202) at org.olat.core.dispatcher.DispatcherAction.execute(DispatcherAction.java:182) at org.olat.core.servlets.OLATServlet.doPost(OLATServlet.java:137) at org.olat.core.servlets.OLATServlet.doGet(OLATServlet.java:121) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)&gt;&gt;&gt;stack of 2.cause::org.olat.core.logging.OLATRuntimeException: MethodInvocationException occured while merging template: methName:render, refName:r -&gt; at org.olat.core.gui.render.velocity.VelocityHelper.merge(VelocityHelper.java:108) at org.olat.core.gui.render.velocity.VelocityHelper.mergeContent(VelocityHelper.java:124) at org.olat.core.gui.components.velocity.VelocityContainerRenderer.render(VelocityContainerRenderer.java:102) at org.olat.core.gui.render.Renderer.render(Renderer.java:311) at org.olat.core.gui.components.tabbedpane.TabbedPaneRenderer.render(TabbedPaneRenderer.java:138) at org.olat.core.gui.render.Renderer.render(Renderer.java:311) at org.olat.core.gui.render.Renderer.render(Renderer.java:211) at org.olat.core.gui.render.velocity.VelocityRenderDecorator.doRender(VelocityRenderDecorator.java:483) at org.olat.core.gui.render.velocity.VelocityRenderDecorator.render(VelocityRenderDecorator.java:327) at sun.reflect.GeneratedMethodAccessor1419.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)&gt;&gt;&gt;stack of 3.cause::java.lang.StackOverflowError: null -&gt; at java.util.regex.Pattern.isSurrogate(Pattern.java:2850) at java.util.regex.Pattern.isSupplementary(Pattern.java:1733) at java.util.regex.Pattern.newSingle(Pattern.java:2949) at java.util.regex.Pattern.atom(Pattern.java:1985) at java.util.regex.Pattern.sequence(Pattern.java:1885) at java.util.regex.Pattern.expr(Pattern.java:1752) at java.util.regex.Pattern.compile(Pattern.java:1460) at java.util.regex.Pattern.&lt;init&gt;(Pattern.java:1133) at java.util.regex.Pattern.compile(Pattern.java:823) at java.lang.String.replaceAll(String.java:2190) at org.olat.modules.wiki.gui.components.wikiToHtml.FilterUtil.normalizeWikiLink(FilterUtil.java:52) 
<br>
2007-10-15 00:00:56,075 [TP-Processor10] ERROR syslog - Method render threw exception for reference $r in template org/olat/modules/wiki/_content/article.html at [75,25] 
<br>
[/quote] 
<br>
不過在[olat_developers]的mailing-list上已經有發布解決方案了, 就是把附檔下載後解開來, 將五個檔案上傳到OLAT安裝目錄下的/WEB-INF/classes目錄下, 再重新啟動Tomcat即可.]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/181/279.page</guid>
				<link>https://forum.andowson.com/posts/preList/181/279.page</link>
				<pubDate><![CDATA[Mon, 15 Oct 2007 00:46:56]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>OLAT 5.2.2啟用Instant Messaging功能筆記</title>
				<description><![CDATA[ OLAT學習管理系統可以跟[url=http://www.igniterealtime.org/downloads/index.jsp]Openfire[/url]整合, 提供遵循[url=http://www.jabber.org/]Jabber XMPP[/url]協定的即時訊息功能, 安裝文件及內附的方法主要是針對MySQL的安裝方法, 我在PostgreSQL上試著安裝看看,發現也可以看得到那顆黃色星星,底下是安裝的步驟 
<br>
[code] 
<br>
cd ~/download/olat3 
<br>
sed -i -e "s/instantMessaging.enable=false/instantMessaging.enable=true/" build.properties 
<br>
sed -i -e "s/instantMessaging.server.name=jabber.andowson.com/instantMessaging.server.name=www.andowson.com/" build.properties 
<br>
sed -i -e "s/instantMessaging.generateTestUsers=false/instantMessaging.generateTestUsers=ture/" build.properties 
<br>
sed -i -e "s/instantMessaging.db.name=wildfire/instantMessaging.db.name=openfire/" build.properties 
<br>
sed -i -e "s/instantMessaging.db.user=wildfire/instantMessaging.db.user=olat/" build.properties 
<br>
sed -i -e "s/instantMessaging.db.pass=wildfire/instantMessaging.db.pass=olat/" build.properties 
<br>
ant config-all 
<br>
cp -rf ~/download/olat3/webapp/WEB-INF/olat_config.xml ~/www/olat/WEB-INF 
<br>
cd ~/download 
<br>
wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_3_3_3.tar.gz -O openfire_3_3_3.tar.gz 
<br>
tar zxvf openfire_3_3_3.tar.gz -C ~ 
<br>
sudo -u postgres psql -c "ALTER USER olat CREATEDB;" template1 
<br>
sudo -u postgres psql -c "CREATE DATABASE openfire WITH ENCODING 'UNICODE';" -U olat template1 
<br>
sudo -u postgres psql -c "ALTER USER olat NOCREATEDB;" template1 
<br>
sudo -u postgres psql openfire olat -f ~/openfire/resources/database/openfire_postgresql.sql 
<br>
cp ~/download/olat3/conf/openfire.xml ~/openfire/conf 
<br>
sed -i -e "s/com.mysql.jdbc.Driver/org.postgresql.Driver/" ~/openfire/conf/openfire.xml 
<br>
sed -i -e "s/mysql/postgresql/g" ~/openfire/conf/openfire.xml 
<br>
cd ~/openfire/bin 
<br>
./openfire start 
<br>
[/code] 
<br>
接下來我們要先開放防火牆, 讓下面幾個通訊埠可以被存取到: 
<br>
sudo setup 
<br>
防火牆設定 -&gt; 執行工具 -&gt; 安全等級： (*) 啟用-&gt;自訂 
<br>
其他連接埠=&gt;9090:tcp 9091:tcp 5222:tcp 5269:tcp 7777:tcp 8080:tcp 8483:tcp 3478:tcp 3479:tcp 
<br>
確定-&gt;確定 
<br>
<br>
開啟瀏覽器連到[url]http://www.andowson.com:9090[/url] 
<br>
用帳號admin密碼admin登入,修改以下幾項設定 
<br>
Server Manager -&gt; Server Setting -&gt; Server Name : 127.0.0.1=&gt;www.andowson.com 
<br>
Registration &amp; Login -&gt; Inband Account Registration -&gt; Disabled 
<br>
Registration &amp; Login -&gt; Change Password -&gt; Disabled 
<br>
將~/openfire/bin/openfire中的啟動參數在-server之後加上-Xss256k 
<br>
重新啟動一次openfire 
<br>
[code] 
<br>
./openfire stop 
<br>
./openfire start 
<br>
tail -5 ~/openfire/logs/info.log 
<br>
[/code] 
<br>
如果可以看到下面的訊息時,就表示啟動完成,可以重新啟動OLAT了 
<br>
[quote]2007.09.22 12:36:25 Publish-Subscribe domain: pubsub.www.andowson.com 
<br>
2007.09.22 12:36:25 Started server (unencrypted) socket on port: 5269 
<br>
2007.09.22 12:36:25 Started plain (unencrypted) socket on port: 5222 
<br>
2007.09.22 12:36:36 Openfire 3.3.2 [Sep 22, 2007 12:36:36 PM] 
<br>
2007.09.22 12:36:41 Admin console listening at http://www.andowson.com:9090 
<br>
[/quote] 
<br>
[code] 
<br>
sudo /etc/init.d/tomcat restart 
<br>
[/code] 
<br>
<br>
參考資料: 
<br>
http://www.olat.org/docu/install/EnablingTheInstantMessagingComponent.html]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/168/259.page</guid>
				<link>https://forum.andowson.com/posts/preList/168/259.page</link>
				<pubDate><![CDATA[Sat, 22 Sep 2007 13:10:26]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>OLAT 5.1.3-&gt;5.2.2升級筆記</title>
				<description><![CDATA[ 今天花了一整天終於把現有的OLAT由5.1.3升級至5.2.2, 步驟如下: 
<br>
[code] 
<br>
cd ~/download 
<br>
mv olat3 olat-5.1.3 
<br>
wget http://www.olat.org/downloads/stable/OLAT-5.2.2.zip 
<br>
unzip OLAT-5.2.2.zip 
<br>
mv OLAT-5.2.2-PUBLIC-* olat3 
<br>
cd olat3 
<br>
sed -e "s/\/usr\/local\/opt\/olat\/olat3/\/home\/andowson\/download\/olat3/g" \ 
<br>
-e "s/\/usr\/local\/opt\/olat\/olatdata/\/home\/andowson\/www\/olatdata/g" \ 
<br>
-e "1,$$s/myolat/andowson/g" \ 
<br>
-e "s/smtp.host=smtp.andowson.com/smtp.host=mail.andowson.com/" \ 
<br>
-e "s/\/usr\/local\/opt\/tomcat5/\/var\/tomcat5/g" \ 
<br>
-e "1,$$s/net.sf.hibernate/org.hibernate/g" \ 
<br>
-e "48c\server.modjk.enabled=true" \ 
<br>
-e "86,108d" \ 
<br>
-e "1,$$s/#db/db/g" build.properties.default &gt; build.properties 
<br>
ant install 
<br>
ant jsmath 
<br>
sudo /etc/init.d/tomcat stop 
<br>
tomcatpid=`ps -ef|grep tomcat|grep java|awk '{print $2}'` 
<br>
sudo kill -9 $tomcatpid 
<br>
mv ~/www/olat /tmp/olat-5.1.3 
<br>
cp -rf ~/download/olat3/webapp ~/www/olat 
<br>
cp -rf ~/download/olat3/htdocs/* ~/www/olat 
<br>
sed -i -e "13c\ &lt;\!-- default session timeout --&gt;" ~/www/olat/WEB-INF/web.xml 
<br>
rm -rf ~/www/olat/WEB-INF/src 
<br>
rm -rf ~/www/olat/WEB-INF/patchesSrc 
<br>
chgrp -R tomcat ~/www/olat 
<br>
chgrp -R tomcat ~/www/olatdata 
<br>
chmod 775 ~/www/olat/static 
<br>
cp ~/download/olat3/database/postgresql/alter_5_1_0_to_5_2_0.sql /tmp 
<br>
sudo psql -U olat olat -f /tmp/alter_5_1_0_to_5_2_0.sql 
<br>
sudo /etc/init.d/tomcat start 
<br>
[/code] 
<br>
參考資料: 
<br>
http://www.olat.org/docu/install/Upgrading-from-5.1.x-to-5.2.x.html]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/162/251.page</guid>
				<link>https://forum.andowson.com/posts/preList/162/251.page</link>
				<pubDate><![CDATA[Mon, 17 Sep 2007 00:23:34]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>該選Sakai還是OLAT?</title>
				<description><![CDATA[ edutools.info提供了一個比較一些常見LMS/CMS的工具 
<br>
[url]http://www.edutools.info/item_list.jsp?pj=4[/url] 
<br>
可以比較一下[url=http://www.sakaiproject.org]Sakai[/url]和[url=http://www.olat.org]OLAT[/url]]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/129/211.page</guid>
				<link>https://forum.andowson.com/posts/preList/129/211.page</link>
				<pubDate><![CDATA[Fri, 10 Aug 2007 23:04:10]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>回覆:OLAT安裝筆記</title>
				<description><![CDATA[ 這篇文章是google繁體中文中關於OLAT唯一的文章，真是太神奇囉]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/75/175.page</guid>
				<link>https://forum.andowson.com/posts/preList/75/175.page</link>
				<pubDate><![CDATA[Fri, 13 Jul 2007 10:21:45]]> GMT</pubDate>
				<author><![CDATA[ ofather]]></author>
			</item>
	</channel>
</rss>