CommunityServer 控制台擴充套件 2009/03/27

Sunday, 29 March 2009 09:45 by admin

趁了一個休假日,以及下個月會很忙,趕緊的把下一版本CSCP Extend 釋出,這版本多了兩個新功能

MediaGallery File Import/Export - 匯入/匯出多媒體檔案
DB Size and Clear - 列出資料表空間與清除 log

先說明 DB Size and Clear ,其實這是一個很少用到的功能,如果資料庫太大又想找出哪一個 Table 很佔空間,可以用 T-SQL 的 sp_spaceused 查詢,這只是把這 T-SQL 寫到程式裡而已,在多附加個清除 log 功能

MediaGallery File Import/Export ,在 CS 中,如果要大量上傳圖片,其實是一大麻煩,這時通常會找一些輔助軟體透過 REST 上傳,例如 CS Media Manager,其實透過 REST 上傳並沒有啥不好,只是不曉得為何在我的網站上會出現錯誤而無法使用,另外上傳途中,如果遇到 ASP.Net 的檔案大小限制或 Timeout ,就會形成等很久後得到一個錯誤,這時會很嘔 (我遇過很多次了)

這時就利用API,直接把Server上的檔案匯入或匯出 CFS,由於這已經是直接IO存取,當然檔案大小不受 ASP.Net 限制,Timeout 則是速度相當快速,我想不要一次傳個上百個檔案應該都能在預設300秒內完成,如果以後看到我一次上傳一大票圖片,就都是用此程式完成的

其實操作 CFS 在之前已經玩過一陣子了,改天有空再寫一個如何讀寫 CFS

另在官網得到消息,CS2009 因為某些問題,可能會改到 2009 Q3 才會推出,最近則會推出 CS2008.5 的最新 ServicePack

讓 CommunityServer 播放 MP4

Sunday, 29 March 2009 08:02 by admin

在預設值,CommunityServer 是可以撥放 FLV 的,這是利用了 JW FLV Media Player 播放器,有點納悶的就是這套其實可以撥放 MP4 ,但在 CommunityServer 上卻沒有支援

其實這純粹只是一個 Design Issue ,只要很簡單的就能修正了,只要打開 VideoFileViewer.cs 增加一行就可以修正 case "MP4": 完畢

case "FLV":
                case "MP4": // add this line

                    requiresWrapper = false;

                    ui.Append("<embed ");
                    AddProperty(ui, "src", Globals.FullPath(page.ClientScript.GetWebResourceUrl(typeof(VideoFileViewer), "CommunityServer.Components.UI.Resources.mediaplayer.swf")));
                    AddProperty(ui, "width", width.ToString());
                    AddProperty(ui, "height", height.ToString());
                    AddProperty(ui, "allowfullscreen", "true");
                    AddProperty(ui, "flashvars", string.Format("width={0}&height={1}&file={2}", width.ToString(), height.ToString(), Globals.UrlEncode(url)));
                    ui.Append(" />");

                    break;

修正完畢後重新編譯後,要修改 CommunityServer.config 讓 fileviewer 知道 mp4 是 VideoFileViewer 負責的

<FileViewers>
        <add type="CommunityServer.Components.VideoFileViewer, CommunityServer.Components" extensions="avi;mov;swf;ra;ram;rpm;rv;mpg;mpeg;wmv;asf;asx;wm;wvx;wmx;flv,mp4" urlPattern="^[^\?]*?\.(?:avi|mov|swf|ra|ram|rpm|rv|mpg|mpeg|wmv|asf|asx|wm|wvx|wmx|flv|mp4)(?:\?.*)?$" />
    </FileViewers>

當然如果不想修改 SDK,也可以自己寫一個 FileViewer 替代原本的 VideoFileViewer

Beyond Compare 折價券

Tuesday, 24 March 2009 21:40 by admin

之前有介紹過 Beyond Compare ,這是一套很好用的比對軟體,在 3.0 裡面授權又更放寬了,只要您買一套,可以在無限多台電腦上安裝 (但只能同時使用其中一台),如此一來不論公司電腦或家裡電腦,只要買一套就夠了

在這個月(2009/03),Beyond Compare 和 Wisco 合作,共同推出折價活動,您可以用 ZR3-GPC-L6D 的 20% coupon 買到 SynchPST (一套同步 Outlook PST 檔案的軟體),但我想這套很難引起大家興趣,BC 的 coupon 則要看 Wisco 的電子報才能拿到

由於我實在很想買一套,但是又等不到有寫 coupon 的電子報,無聊之下把 coupon 那欄填了 Wisco 後.... 噹噹噹,這就是正確解答

有需要的人可以快去 scooter 買一套 Beyond Compare,折價券應該是只能用到這個月月底 ( 2009/03 )

CommunityServer 控制台擴充套件 2009/03/20

Sunday, 22 March 2009 05:21 by admin

雖然 CommunityServer 的控制台功能很多,多到有點像迷宮了,但經常可以看到官網討論區問了某些功能要怎麼做,但官方會以沒辦法來回答,其實大都是有方法的,只是要拐個彎,雖然大部分的功能是我自己也用不太到的(誰叫我網站規模小),但想說練習一下就順手幫大家寫這個 CS 控制台擴充 ( CommunityServer CotrolPanel Extend )

首先這套件會慢慢的推出新功能,因為每個功能都是官方沒有任何技術支援的,完全都要靠挖 SDK 去慢慢找,開過 SDK 的人就知道規模的龐大,並不是那麼好上手

在 2009/03/10 第一次放出的 pack ,包含了兩個 MediaGallery 檔案移動功能,如果你在官網問這個問題,他們會回答你沒辦法,尤其是 Group 要移動到網站的 MediaGallery ( 因為 CS2009 Express 將沒有 Group ),所以這功能應該是最 夯( Hot ) 的,在程式的方面,當初一開始就排除了直接修改 SQL 的想法,所以其實並不是把檔案移動,而是複製+刪除 (我想官方應該當初就沒有想到原來有此招吧) ,因為不是真的複製,網站如果有連結到那些檔案,連接會失效

2009/03/20 的 pack ,增加了 MediaGallery 複製 Comment 和 Rating 的功能,和加入兩個新功能,SMTP test 與 EMail Queue 查看與刪除

  • SMTP test 在 BlogEngine.Net 上就有,很好用,但 CS 沒有,要測試起來很麻煩,以往都是發給自己一個 PM 來測試,這程式是用發送 User to User 功能,發一個郵件到 Email Queue
  • EMail Queue list ,既然上一個可以傳到 Queue ,那可以把 Queue 查看和刪除也是會用到的,尤其有時候有 SPAM 註冊亂填 EMail ,管理員就會收到一堆重寄的 Mail,不過看 Queue 會導致還沒寄出的訊息都被管理員看光光 (雖然在資料庫中也是沒加密的)

功能繼續寫下去鐵定會破10項,不過有點奇怪,Telligent 的軟體控制台竟然需要大眾的力量來達成

有需要的網友可以直接跳到 update.to 去下載

SyntaxHighlighter Wrapper CSModule 1.1

Sunday, 22 March 2009 04:59 by admin

在之前 dp.SyntaxHighlighter 遇上 CommunityServer ,後來在使用上覺得有點小問題,貼上去後會多一行空白,來點小小的修正

但如果這樣就丟出來,有點丟人現眼,順道把自己暗藏的 SyntaxHL 放上去,SyntaxHL 是 TinyMce 的 plugins 上,用了他就不用整天記如何使用,惠方便很多

但 Syntax 如果你直接續下載來用,那是不能用在 CommunityServer 上的,除了換行會有問題外,html 的 pre name 屬性會被擋住,所以要來點小修改 ( 另一套 SyntaxHighlighter Plug-in for Tinymce 3.X WYSIWYG Editor 也是會有相同問題,但我覺得 SyntaxHL 比較好用)

此外測試了一下 dp.SyntaxHighlighter 2.0 ,首先已經改為 donationware 了,那種直接整包發行方式就會不太合法,另外語法也變了,所以暫時不打算換 ( CSModule 是寫好了,但缺 tinymce plugins )

需要的人可以到此下載,另外有高手教學了怎麼用 override 寫,因為我不太會,可以參考一下