內容 |
|
|
 |
|
|
 |
|
因熱門主題是之前模仿最新主題寫出來的,基本上只要有呼叫到
TopicRepository.loadMostRecentTopics();
這一行的下面都可以考慮加上
TopicRepository.loadHottestTopics();
這一行,目前我是發現net.jforum.view.forum.ModerationHelper的removeTopics()這個method少加了這一行,可以順便補上去。
|
 |
|
為便於日後快速存取,特將網站架設版面再細分為更多分區,並開設專門版面以累積各種層面的問題及經驗。
新增以下分區及版面:
作業系統
- Windows Server
- Linux
- Solaris
網頁及應用伺服器
- Apache HTTP Server
- IIS
- Tomcat
郵件伺服器
- Sendmail
- Postfix
網域名稱伺服器
- BIND
檔案傳輸伺服器
- vsFTPD
防火牆
- Netscreen
負載平衡交換器
- Alteon Application Switch
- F5 BIG-IP
區域網路交換器
- Extreme Networks
|
 |
|
1.就我瞭解,管理日誌和熱門主題好像是沒有用到緩存(快取),有的話應該在管理後台會看到重新載入的地方,另外也會有對應的repository類別,可以搜尋FQN會找到相關的程式碼。
2.JForum的jforum_users資料表內有兩個欄位user_allow_viewonline和user_viewonline,造成更新者資料時更新的是user_viewonline欄位,但讀出資料時卻是user_allow_viewonline欄位,對於隱藏使用者上線資訊的BUG請提供一下您更新的程式碼。
例如:
修改GenericUserDAO.java的
protected void fillUserFromResultSet(User u, ResultSet rs) throws SQLException
{
...
u.setViewOnlineEnabled(rs.getInt("user_allow_viewonline") == 1);
...
}
為
protected void fillUserFromResultSet(User u, ResultSet rs) throws SQLException
{
...
u.setViewOnlineEnabled(rs.getInt("user_viewonline") == 1);
...
}
|
 |
|
Open Source最弱的部分就是在文件上,由於作者身兼開發跟文件撰寫,常常都是優先把時間放在寫程式上,故文件往往都得靠使用社群來補足。目前我還沒有完整的使用手冊,如果寫出來,不知道有沒有人會想花錢買嗎?
|
 |
|
1.檢查目錄權限是否正確
JForum自2.1.8版起改用 Lucene作為搜尋引擎,會自動建立索引檔,產生的索引檔存放的預設目錄是$JFORUM_HOME/WEB-INF/jforumLuceneIndex,如果該目錄不存在JForum會自動建立,故需要將WEB-INF目錄設定為tomcat可寫入才行。
在Unix-like系統上可做如下的設定
chgrp tomcat WEB-INF
chmod 775 WEB-INF
2.檢查編碼設定是否正確
資料庫使用的編碼建議設定為UTF-8,並注意jforum-custom.conf裡面的設定是否也設定正確:
dbencoding=utf-8
encoding=UTF-8
3.檢查Tomcat系統設定是否正確
請勿對Connector加上URIEncoding="UTF-8"的參數,這樣會造成二次轉碼,反而找不到。
4.檢查作業系統預設編碼是否正確
檢查/etc/sysconfig/i18n內容,例如:
LANG="zh_TW.UTF-8"
SUPPORTED="zh_TW.UTF-8:zh_TW:zh"
SYSFONT="latarcyrheb-sun16"
5.search.htm請維持原來的GET method,不要改成POST method。
6.重建索引
到系統管理控制台,點選Lucene統計功能,輸入以時間區間方式,重建一次索引,如果上方的文件數不為0即表示索引建立成功。
|
 |
|
原來的寫法是建立在這樣的假設:一般通常不會把Anonymous這個帳號設為版主才對,所以在效率上原來的寫法應該執行起來比較快。
您的考慮算比較周密,可以避開一些非預期的操作,不過就是要犧牲效能來多做這個判斷。
|
 |
|
|
 |
|
這個問題很簡單,只要修改這個檔案即可:/templates/default/post_show_action_buttons_inc.htm
編輯文章部分,我們需要讓發文者,版主和系統管理員可以編輯,請將第18行修改為:
<#if (canEditCurrentMessage) && (post.userId == session.userId || isModerator || isAdmin)>
刪除文章部分,我們需要讓版主和系統管理員可以刪除,請將第22行修改為:
<#if canRemove && (isModerator || isAdmin)>
如果要讓發文者自己可以自己刪除自己的文章,則將 && 後面改成跟編輯文章一樣即可:
<#if canRemove && (post.userId == session.userId || isModerator || isAdmin)>
|
 |
|
在另一部SQL Server上作資料庫還原時,如果原來的資料庫有某個使用者帳號自建的table時,將無法刪除該帳號。如此一來便無法在新的SQL Server上重新設定該帳號為還原後資料庫的db_owner。
這時我們需要先改變table的擁有人為dbo:
exec sp_changeobjectowner 'oldowner.tablename', 'dbo'
然後再去刪除該帳號,再重新建立該帳號並將資料庫指派給該帳號當作db_owner即可。
參考資料:
http://blog.bestlong.idv.tw/2005/03/27/mssql-%E6%94%B9%E8%AE%8A-database-%E4%B8%AD-table-%E7%9A%84-owner/
|
 |
|
經與Rafael討論後,JForum目前確實無法達到您要的需求,JForum用的是server time,除非可以改server time不然目前的程式並沒有地方可以設定。
可以參考這幾篇文章:
http://www.jforum.net/posts/list/578.page
http://www.jforum.net/posts/list/2049.page#8697
|
 |
|
今天發現一台機器CPU Loading超重,原來是不斷在發信,但是又發不出去,最後造成/var/spool/mqueue底下產生鉅量的檔案,每次重開機之後,就又開始重新發信,所以即使重開機之後CPU Loading還是一樣非常高。
嘗試用rm -rf *去刪除,結果出現下面的訊息:
[root@drweb1 mqueue]# rm -rf *
-bash: /bin/rm: 引數列項目過長
最後改用這個方式就成功了:
ls -l|awk '{print $9}'| xargs rm
參考資料:
http://plog.longwin.com.tw/my_note-unix/2007/01/18/file_most_cant_del_2007
|
 |
|
最近對每部主機都進行硬碟空間使用率檢查,結果有部安裝了RHEL AS3 Update 4的機器的/var分割滿了,原本以為/var切了54G,要滿也不容易,沒想到居然發生了。
仔細檢查了一下發現被是/var/log/audit.d目錄裡面的一堆save.*給塞爆了。
查了一下 http://kbase.redhat.com/faq/FAQ_79_4499.shtm,發現是RHEL 3出廠預設會啟動audit這個服務,可將其關閉
service audit stop
chkconfig audit off
然後再刪除這些save.*檔案即可
rm -rf /var/log/audit.d/save.*
|
 |
|
您提到的SQL是UserModel.selectById,在generic_queries.sql裡面的內容如下:
UserModel.selectById = SELECT COUNT(pm.privmsgs_to_userid) AS private_messages, u.* \
FROM jforum_users u \
LEFT JOIN jforum_privmsgs pm ON pm.privmsgs_type = 1 AND pm.privmsgs_to_userid = u.user_id \
WHERE u.user_id = ? \
GROUP BY pm.privmsgs_to_userid
其中user_id = 1時表示使用者為訪客(anonymous),這個錯誤可能是Session Timeout或Connection Timeout時,系統關閉資料庫連線,造成查詢使用者資料的這個查詢無法執行成功,應該對系統沒有太嚴重的影響,可以不予理會。
參考資料:
http://bugs.mysql.com/bug.php?id=35353
|
 |
|