使用Drupal 有感 I

最近在幫我老師系上架新的網站。自從前一陣子淺嘗過Drupal後,就決定不再自己造輪子了。畢竟自己從頭打造登入系統、文章發表系統、還要兼顧彈性實在太累了。這次架站的經驗讓我有很深的體會(此外,你面對的客戶是好幾個人,每個人對於網頁都有自己的看法)。

其實我覺得中小學/實驗室/會更新的老師個人頁面 都應該拿一套CMS/blog/wiki 系統來架設即可。除了好維護,好使用之外,這些等級的單位應該要注重內容多於版面才是。此外,背後還有一大群開源碼的程式設計師持續地在幫你完善這個系統,自己搞一套導致離開後難以接手抑或是花錢發包給廠商去寫(不是修改),這是何苦來哉?

這個方案其實是拿自由度和XXX去換維護性。一個網站做的再漂亮,如果遲遲都沒有新的內容,程式一直都是破破爛爛的狀態,能吸引多久人? 何不專心在內容(況且這些版面都不差阿)。但是採用這個方案,我想有幾點值得注意,並且要客戶們均有所體認。

1)選擇適當的系統

開源碼的系統其實就已經夠好了,只要花時間下去,真的無須再去額外購買。選擇的時候,可以選擇前幾大熱門系統中較為順手的來架設。如果你只想拿來當公佈欄,那麼可以選擇wordpress 或是其他任何一套"單人"使用的部落格系統。如果要拿來當個人簡介,那麼可以考慮無須資料庫的Dokuwiki,或是使用tiddlywiki 再將其上傳到網頁上(最簡單的網頁伺服器即可)。如果想架設多人部落格,可以選用中文支援度完整的lifetype(wordpressmu是進階者才適合阿XD),如果熟Java的話,roller也是個很好的選擇,只是佈景主題你就得….忍耐一下。如果架構比較大的話,就只好採用CMS系統啦,像是Drupal or joomla。

2)採取適當的策略

這次幫我老師系上架站採取的策略是-設定為上,修改程式碼為下。畢竟老師所處的系是設計學院,只要改動程式對接手的學生來說都是種負擔(更不用說要教會他們登入linux 使用vim修改程式碼,這是不可能的),升級的時候也得額外注意很多事項。隔行如隔山,你叫我用photoshop畫圖,我肯定也是畫不出什麼鳥來。因此,新功能的增修我都是以找外掛模組為主,除非極其必要不然我都是請使用者去適應這個系統(像是中文檔名會有問題,那就請他們改成英文檔名之後再上傳),而不是大量修改程式來符合他們的需求。但若是處於有人手的環境中,就無須有此顧慮啦~~~

3)容忍不自由的版型

對很多老師來說,他們心中的系/實驗室/中小學網站 都只是個公告的地方,因此版面就真的極其重要(不過也有一點都不注重的老師啦XD)。而且他們也真的會把系統當成純html看,因此建議出來的版型有時候不改成程式根本作不到阿~~~。如果老師們真的認為網站只能當公佈欄的話,那我建議老師們去看一下南加大的互動媒體系的系網站。看看他們的系網站是如何的開放、如何的不一樣(不過這系統是他們特製的o_O!!!,而且近月來有較少分享的趨勢XD)。此外為了輕易達到分享/好維護的目的,那麼就必須接受這套工具帶來的不便。這次我還限制負責版面的學弟只能修改CSS。這樣的壞處是,自由度挺低的,很多地方都必須將就。但是好處就是,日後升級的時候只要解決模組的問題即可,不用去管模板裡的api有無更動(除非你挑的模板剛好作者不維護了)。

有些實驗室的網站真的做的….很….。其實只要拿一套CMS來套,順便挑個順眼的版型,再把一些配色跟banner換掉,馬上就改頭換面啦!!!

以上是我這次的感想阿~~~,等網站上線後,再來分享一下我用了哪些Drupal 模組。

漂亮的視覺化

紐約時報把總統候選人每次辯論的過程給視覺化了:

ny.png

每個顏色表示不同候選人,每一個小段表示每次的辯論,而寬度就是每個候選人每次說得字數(每一千字一個刻度)。他們之間的連結表示提到對方/被對方提到的次數。 不過我的重點是…. 好漂亮的配色……..

從羽毛到aNobii

其實一開始是用listal 來紀錄書單啦,可是外國人的系統對中文書實在很不友善,都得一筆筆新增,累死人阿! 後來豆瓣出現了,就跳到豆瓣,可是….畢竟那邊還是以簡體書為主,於是等到台灣的羽毛出現後,就迫不及待地跳回來啦~~~

只是,最近發現羽毛已經很久沒有動作了,而且上次看到我兩個老師都在用aNobii,就順便去試用一下。唔,介面已經很不錯了阿!! 加上還有匯出/匯入的功能,實在是令人放心。像是羽毛我就找不到匯出的功能,於是只好寫程式從羽毛的網頁撈出ISBN =.=  。

但是,接下來還是得一筆筆整理 唉…

Terminator

Terminator 

喔喔喔 這個不錯阿,可以垂直或是水平來分割終端機的畫面。大小的話可以用滑鼠來調整。

看一下作者的圖:

試用的結果感覺非常好阿, 不過目前只能 在Ubuntu GG上跑,遠端的話…大概還是只能用screen了….

又一款php framework-Orchid

這套看起來不錯,集成式的架構的確擁有很多優勢存在,因為大部份的人都懶嘛  ….。

作者的網站上列出來目前集成的特色有:

1. Caching Engine with support of Memcache, MySQL and SQLite as Storage
2. MVC
3. RoR like Layout and segregated template components.
4. Partial Caching in Template
5. Very efficient object loading and dispatching
6. DAL for MySQL (Both MySQL and MySQLi), SQLite, PostgreSQL and MSSQL
7. Support for PDO
8. Builtin Unit Testing Library where you can write unit tests inside the controller without extra pain.
9. Internationalization using Language files
10. Session Manager (Regular and DB Based)
11. Bundled Google Map Library
12. Bundled Google Chart Library
13. Bundled JSON Library
14. Bundled Prototype, jQuery, Scriptaculous and SWFObject Scripts with on-demand gzip support
15. On demand gzipping for javascripts
16. Active Record
17. Excellent Benchmarking and Profiling support which you can use to profile your application
18. CSS based Button Manager (What is this???? — checkout)
19. AJAX Library

根據官網上最新的文章,還預計要整合:

20.blueprint CSS (css 的framework 還不錯用)
21.open ID

實在是不錯。

RubyConf 2007 的演講

via:在线观看RubyConf 2007全部视频演讲

最近又把ruby的書拿出來看,之前趕案子所以把ruby 當php用….orz…. 趁著最近忙別的事的時候,趕快拿出來複習兼加強一下。ruby真的很酷,像是區間這種物件就非常有用。例如說我今天需要替一堆東西產生一組連續的key,像是C001~C019,這個在ruby中只要這樣:

>> ('C001'..'C019').to_a
=> ["C001", "C002", "C003", "C004", "C005", "C006", "C007", "C008", "C009", "C010", "C011", "C012", "C013", "C014", "C015", "C016", "C017", "C018", "C019"]

真是太棒了,而且只要叫出irb ,就可以產生出這段key,然後複製貼上即可,真是太棒了

建立自己的digg-like網站

以往要建立自己的digg-like網站,可以使用pligg 這套軟體,不過現在也可以使用drupal來架設囉!!

使用方式請參考 drigg-code,範例網站請參考:drigg。以我對drupal的了解,用起來應該不會跟pligg一樣流暢,不過好處是可以跟其他drupal的模組做整合,很容易擴充出新的功能出來。不過這個介面看起來….恩 大概還有一小段路要走 😄