CS2008.5 BlogML 匯出/匯入

Wednesday, 22 October 2008 03:05 by admin

BlogML 可以很方便的把文章移轉到其他系統上,在 BlogML-codeplex 上也有提供不少轉換程式,其中包含了 [CommunityServer] 2.1 與 2007 ,不過如果你想把 BlogML 匯入和匯出到 CS 2008 ,裝 BlogML for CS2007 可是不能用的,因為在 CS2008 上,附件存檔的方式已經不能存在資料庫中,需要小幅度修改程式

原本想趁機檢查看看原本的程式 ( Community Server 2007 BlogML converter control beta ) 有何功能沒有實現,但繞了一圈 BlogML 官方網站,好像原本的發起人 Keyvan 已經很久沒有更新網頁,包含了最重要的說明檔也遲遲未發出,當然他有發一個 BlogML.xsd ,不過那樣讓人不想認真去研究,所以就只有改 for CS2008 和重新寫一個控制台介面

安裝方法就是把 BlogML.dll 和 CommunityServer.BlogML.dll 複製 /bin,BlogMLExport.aspx 和 BlogMLImport.aspx 和 Blogs.aspx 複製到 /ControlPanel/BlogAdmin ,然後到 網站控制台 > System Administration > Blog Administration > Blogs 就可以看到 BlogML Import 和 BlogML Export

下載Bin: Codeplex - BlogML release page

Wiki Enterprise Search 安裝方法

Friday, 17 October 2008 18:20 by admin

目前在 CommunityServer 2008.5 中,要搜尋 Wiki 只能靠 Enterprise Search ,是不支援 SearchBarrel 的 (也就是一定要買到 Professional 以上才能搜尋 Wiki )

不過預設上, Enterprise 也是沒有啟動 Wiki 搜尋 ( Telligent 繞口令? 我有此功能,但要自己來 )

安裝方法也有點複雜,首先

  1. 安裝 Enterprise ( 拉里拉雜一大堆步驟,請看 http://docs.communityserver.com/getting-started/installation/installing-enterprise-search/ )
  2. 到安裝目錄下 ( 預設是安裝在 "C:\Program Files\Telligent\Telligent.Tasks for Enterprise Search" ),開啟 task.config
  3. 加入 <add type = "CommunityServer.Enterprise.Search.WikiIndexTask, CommunityServer.Enterprise.Search" /> 在 <task name = "ES.SearchJob" type = "CommunityServer.Enterprise.Search.SearchJob, CommunityServer.Enterprise.Search" count = "100" enabled = "true" optimize = "false" enableShutDown = "false"></task> 中
  4. 重新啟動 Telligent Tasks Service ( 先 NET STOP "Telligent Tasks Service" 後,在 NET START "Telligent Tasks Service" )
  5. 理論上過5分鐘後,就會開始建立 Index

※討論區上的討論: http://dev.communityserver.com/forums/p/502565/633077.aspx#633077

CommunityServer 2008.5 wiki Sitemap 修正

Wednesday, 15 October 2008 09:26 by admin

[CommunityServer] 2008.5 的 Sitemap ,原本看起來應該是毫無問題的,直到前天查看了一下 Google Sitemaps 才恍然發現,Wiki 並不含在 Sitemap 中,到 cs.org 發送詢問後,好想也沒有引起官方的注意

看來又只好先自救,sitemapindex.ashx 和 sitemap.ashx 這兩個檔案修改裡面的 code 並不需要重新編譯,而且程式碼也不長,看似改起來很簡單,但其實並不然

sitemapindex.ashx 裡面只要把所有的 wiki 清單取得後,送出網址即可,這邊倒是沒有啥問題

sitemap.ashx 這邊就問題大條了,原本也是以為拿 blog 或 MediaGallery 的方式,複製貼上小改一下,就可以完成,但貼上後才發現,原來 wiki 並沒有繼承 CommunityServer.Components.Section ( Wiki 可能是請一位新人寫的,到處都不照原本的方式寫 ),弄了一下發覺除了重編譯加上大改 wiki 外,乾脆廢了原本寫的很藝術的 sitemap.ashx ,改成堪用的就可以輕鬆解決 ( 反正自己改的能用就好,大問題丟給官方去解 )

我不覺得他們會在這個月底要出的 2008.5 sp1 中修正好 (10/17 修正,官方回覆他們會在 sp1 修正),因為 sitemap 的修正他們始終好像不怎麼熱衷,修正檔丟出來給大家勉強湊合用

下載: CS2008.5_SiteMap_Wiki.zip

CommunityServer 換跑道的工具

Monday, 13 October 2008 15:56 by admin

自從 [CommunityServer] 推出 2008 後,就有不少人換到 [BlogEngine] 系統,不過換系統後最大缺點於原本的網址通通失效,除了訪客找不到網頁與搜尋引擎資料流失外,自己也要把原本的連結修正

不過今天 rprimrose 寫了一個 Neovolve.BlogEngine.Web ,這 httpModules 可以把 CommunityServer 的網址 URLReWrite 到 BlogEngine ,這樣對於想換跑道的管理原來說,真的是一大福音

下載與安裝方式請到 Codeplex - Neovolve.BlogEngine.Web

dp.SyntaxHighlighter 遇上 CommunityServer

Wednesday, 1 October 2008 05:57 by admin

沒多久之前才發表 CS2008.5 Code Highlight CSModule,為何又要再寫一個 dp.SyntaxHighlighter 呢?

應該用腳指頭想就知道,吃飽太閒了,其實並不是這樣啦,用 Lonwas.Highlight 好像有 Bug,有某些 HTML 會莫名其妙的變化,顯示後和原本的內容並不一樣,但也有可能是 CommunityServer 自己過濾掉絕大部分具有危險性的指令造成的問題,所以測試看看用 dp.SyntaxHighlighter ,雖然 CommunityServer 預設是不可以在文字內容寫入 Javascript ,但 CSModule 是有特權可以用的,聽起來就是沒幾下功夫就可以完成的

原本以為 dp.SyntaxHighlighter 只是把原本的 Code 改一點點,換載入 Javascript 就好,但結果並不如想像中的簡單,如果照舊的寫法,先把要 Highlighter 的部分先處理好,會因為 Javascript 和 name="" 這兩個地方,被後面的 FormattingModule 吃光光,但放到 FormattingModule 之後,其實已經是拿別人吃剩的再處理,要重新把一些特殊字元重新處理,包含換行也要

由於這是拿別人吃剩的再處理,目前先決定再測試個仔細,以免放出來後被抓到 Bug