2007年12月11日 星期二

Joomla 1.5初探二:AJAX功能

Joomla! 1.5中的確是有內含AJAX函式,但之前傳出XAJAX這套PHP-AJAX的函式庫,除了在安裝精靈程式中有出現之外,並沒有內建在Joomla! 1.5中的核心函式庫中。Joomla! 1.5核心內建使用的AJAX函式庫是另一套知名的mootools,這套是輕量級的純Javascript語言AJAX函式庫,除了有AJAX的函式庫之外,還有許多Javascript動態特效(通常用nifty這個英文字來形容,是「俏皮」的意思),在網路上也受到許多開發者的喜愛。

Joomla! 1.5中的mootools實作位於\libraries\joomla\html\html\behavior.php中。另外在\libraries\joomla\html\pane.php中則有常見的幾個mootools的特效實作。

這個JHTMLBehavior類別只有定義用於後台的幾個AJAX功能,列於其下:
1.tooltip:小提示視窗
2.modal:跳出視窗
3.uploader:上傳檔案功能
4.tree:樹狀目錄結構
5.calendar:日曆
6.keepalive:保持session存活

JPaneTabs是Tab(資訊標籤)特效,在mootools稱為Accordion特效,JPaneSliders是另一種Tab(資訊標籤)特效。在研究了一翻之後,發現有許多mootools的實作是來自http://digitarald.de/playground/這個網站之中,有興趣的網友也可以去下載來看看。

Joomla! 1.5中對於AJAX功能的實作並不多,主要是在後台管理區中呈現,對於使用者操作介面已經有很大的改善。未來透過搭配PHP程式語言MVC架構,相信會有很多的協力廠商或開發者,很容易的加入自己所需的AJAX函式庫。

2007年11月12日 星期一

針對近日人身攻擊的回應

針對近日在網路上某人(資策會 馮正青)以公開之方式進行本人(正漢科技 張至寧)之人身攻擊,本人已收集所有相關証據,將在近日內以「公然加重毀謗罪」提起刑事訴訟。另查覺該人在2007年10月13日前仍是軍人身份,且另有公開攻擊其它人及組織單位(軟體自由協會)之言論事實,已將所有証據保全,一併另送至軍事法庭處理(公訴罪)。

如有其它相同法人、自然人、動物,遭受公開攻擊之事証,請儘快與本人連絡,本人將免費且保証一併處理。

2007年9月20日 星期四

Joomla! 1.5 初探之一:MVC架構

Joomla! 1.5正式版發佈在即,目前(2007.9.20)已有RC2發佈,最近又會發佈RC3,相信離正式穩定版本(Stable)發佈的日期已不遠。1.5版本是一個全新架構的版本,這個大幅度的改版,把二年前的Mambo 4.5.2幾乎重新改寫內部結構。這個架構得來不易,從一開始規劃到現在,也是整整花了二年的時間。

原來的Mambo的目標是為了要創造出「力量源自於簡單」的簡易使用架站程式,當然後來Miro公司自己內部開發的商用程式就更是如此。但自Mambo 4.5.1開源碼版本之後,由於方便的擴充能力,充份的表現在不論是佈景(Template)或擴充外掛程式中。這種擴充套件的發展十分受到程式設計師和美工設計師的喜愛,也因此成就了一個新興的軟體元件商業市場,和原來的以簡單使用為號召的Mambo愈趨愈遠。

在PHP語言中實現MVC(Model-View-Controller)的結構,一直是許多PHP程式設計師的夢想。PHP語言本身的結構鬆散,雖然易用好學,但對於大型的程式結構,卻是一場夢魘。雖然PHP語言仍是目前最多網站使用的程式語言,但諸多的批評和常見的不安全性,造成許多大型網站或商業公司的怯步,這是PHP語言正面臨到的大問題。

Joomla! 1.5的結構是完全的MVC結構,為了向PHP4版本相容的結果,有許多在PHP5之後才能使用的函式方式,Joomla!在這個地方作了妥協。JModel、JView、JController是實作出來的三個主要類別,未來在元件的實作,都需要藉由"繼承"這三個主要類別來達成。JModel中是有關於資料庫的互相作用的函式,JView是最後所顯現的樣子,而JController擔任工作觸發及指派的責任,聽起來很容易,但實際上MVC設計模式,對於PHP程式設計師而言,是進階的學習之路,要對PHP的物件導向設計方式有一定程度的了解,才有辦法了解這個設計模式的運作邏輯。

Joomla!官方提供了四個簡單元件的的設計教學(教學1教學2教學3教學4),由這四個簡單的教學,可以窺得1.5的結構嚴謹程度,和1.0版本簡單三層式區分寫法相比,根本是天壤之別。

有許多人會好奇,為什麼要用MVC這種方式來作架站軟體的開發架構,有什麼優點?個人的觀點是因為目前的網站開發已經是非常重視Framework(框架)的時代,不止是在PHP語言中,在Java、Ruby、Python、.net等程式語言,都一步步進化到純粹物導向化和使用各種設計模式。由於網路和硬體的執行效能和速度已經非常好,在這個環境中,一個良好的軟體開發架構反而變成是研究和發展的重點。在Joomla!開發小組領導人Johan Janssens的這篇文章「New MVC framework in Joomla 1.5 too good? 」中,可以看到對於Joomla!1.5中的MVC架構的津津樂道,簡簡單單的幾行程式碼就可以把整個結構運作出來。可見多花一點時間學習這樣的新設計方式,是不會吃虧的:)

2007年4月27日 星期五

VM購物車中文版開發現況

VirtueMart購物車在短短的8個月時間(2006.7~2006.3)已改了5個版本編號,平均來說一個半月就會改版一次版本。Eddy在1.0.6版有製作出一個還堪用的中文版本,現在要找時間升級到目前的1.0.10版本,似乎有點吃力。VM的程式碼實際上很亂,都是混合Javascript, html, php一同寫的,尤其是以又臭又長又雜的if...else為最。

這一點和a仔討論過,是不是要把一年之前我自己開發的簡易型購物車重新開發過,還是要花時間把VirtueMart調整好。還沒有一個定論,在五月初會重新整個評估要作的部份。

Joomla + Discuz 發展現況

之前在討論區發佈有關將會開發Joomla與Discuz討論區橋接的消息,大概又過了一年左右。
對於期昐很久的網友們實在十分抱歉,站長Eddy一直努力的在作自己的工作,沒有太多的時間開發這個橋接器。

就在前幾天突發靈感,在自己的電腦上重新測試過,確定1.0.x和Discuz 4的登出入連結已經測試沒問題。接下來的工作就在於註冊的部份,不過這部份我想藉由Discuz的Passport API或是用資料表來新增,都不是太大的問題。

這個禮拜已經將1.0.12中文版發佈出來,正進行把之前的成績移到1.0.12上來開發。

希望大家能在多等待一週左右,就會發佈測試的版本給大家試用。到時候請大家多幫忙測試吧。

2007年3月13日 星期二

尋找下一個無名小站

很多最近聽到的消息,有許多公司把部份的資金(甚至是政府預算)投資到許多各式各樣的部落格網站,或是類似的號稱Web2.0網站。也有部份是希望能藉由創意徵稿或比賽,找出下一個無名小站,一個能賣到7億多的網站。

這種心態和希望中樂透的想法十分接近,我會在下面提出我的看法。

首先是最熱門的部落格提供網站。
在台灣小小的內需市場中,部落格提供商(BSP)除了已經有龐大使用者的無名小站之外,樂多、天空、Yahoo!、Pixnet…等等國內廠商,加上如Blogger或中國大陸有提供繁體中文介面的提供商,已經有太多競爭者在這個市場中。無名小站佔去了大部份的使用者目光及市場佔有率,這個數字我沒有深入尋找,不過其它提供者根本已經沒辦法取代無名小站的地位,除非無名小站突然消失,我想部落格網站已經不是一個能玩的課題。

另一個引人注目的焦點,是由於Youtube被Google併購之後,線上影音已是下一代網站內容的主流,有許多部落格提供網站,紛紛集中資源投入影音部落格或相關服務。但我必須說影音內容是超級燒錢的服務,其頻寬需求是線上圖片和文字(部落格)的數十倍以上,主機硬體需求也是數十倍以上,這是非常不合乎投資報酬率的,尤其是太多的部落格提供商根本還沒有一個明確的獲利模式,盲目的追隨市場只會讓資源加速耗盡。

可以看得到的是之後會開始出現更多分眾市場的部落格提供商,例如旅遊主題部落格、程式設計師部落格、台灣玩樂部落格…不過因為主要的流量都還是落在大的提供商中,這些分眾部落格的經營除非深度和內容真的能慢慢把主題性作出來,不然還是會面臨到經營不下去的局面。

下一個是抄襲國外已有知名度的Web2.0網站系統
抄襲創意並不一定會犯法,尤其在中國大陸,已經出現太多抄襲國外已有一定知名程度的號稱Web2.0網站系統。從交友、房地產、黃頁、線上書籍…太多太多了。我個人很排斥抄襲,或許有些人會說他們是「參考」而已,我想這是程度上的差異罷了。重點是創意本來就是產生一個現今都沒有的東西,要參考著現在已經成形的創意,不管在意念層次,或操作模式上,都是抄襲。抄襲的網站自然要上線是十分快速的,只要照著作和抄就行了,不論在功能和提供的服務,和原來的網站都是類似的,也可以很快的說服其它人:「我就是要作一個像這樣的網站,他已經在國外很有名了」。

先不論抄襲的論點,事實上舉個簡單的例子來說明同類創意的網站根本無市場可言,事實上網站系統本身並沒有國界之分,一個紅透半邊天的Youtube,在上面有太多中文的、印度文的…各種國家的影片檔分享出來,從世界的任何一個角落都可看得到,今天事實上只是Youtube要不要作個中文操作介面,或是印度文操作介面而已,然後使用當地的快取(Proxy)主機,就變成台灣當地、中國當地、印度當地…的影音分享提供商。那當地的提供同類型的服務的網站根本不需要再作了。

不過上述的情況是否會在這麼短時間發生,這一點倒還沒真正見到。不過在還有一些時間能在當地提供類似國外網站的服務時,如果能認真看待未來會發生的問題,在經營面能加入本地化服務和不斷的加強自有的創意元素,吸引忠誠的使用者與打出品牌知名度,仍然是一種可行的方式。

最後一種是天馬行空的創意網站
創意在產生初期,如果對網站經營並不了解,天馬行空的思考創意,最後作出來的結果一定是和原來想的差很多。很多人看到無名小站紅了,或是Youtube紅了,價值這麼多錢,只是單純的看到目前的新聞和現在的網站。很少人會去深入研究以下這些問題:
這些網站是怎麼開始的?
為什麼會想要作這些服務?
中途有遇到什麼問題?
怎麼成長的?
如何吸引到忠誠的使用者?
如何轉為商業模式?
這一段時間的市場趨勢?
創始人的背景和心態如何?
未來面臨的經營問題是什麼?
千萬不要以為這是一些很表面的問題,一個成功的事業,不論是個網站或生意模式,背後總有一些我們值得去探討的問題答案。

結論
現今很多人對於網站這個希望產業又燃起了另一股熱情,不論是年輕學子或是創業者。不過有熱情和創意還是不足夠的,網站成立之後的經營才是真正的開始。能符合當地市場與使用者的習慣,找出大家還沒想到的需求,加上創意,我相信有很多人一定作得到。但能否利用現今的行銷通路、媒體,炒出話題及推廣讓更多知道,這應該算得上是另一種專業。如果你對這個產業有興趣,不妨和網站經營、行銷或技術專業人士多了解有關的技術和發展趨勢,不一定要急忙著投入金錢或時間。網站經營是需要花費大量時間和資源的,在一開始能找到對的方向,才是最正確的作法。以上只是我個人的一些淺見與看法,希望對大家有所幫助。

2007年2月7日 星期三

展望2007

最近Joomla!開始受到許多人的重視,不論是在中研院的鑄造場或其它報章雜誌。的確,今年會有許多的活動與作法,都會與往年有很大的不同,而我也更加忙碌於很多計劃之中。

2007年希望是一個很好的時機。我一直認為Joomla!只是許多好的開源碼程式中的一員,有更多更好的開源碼專案,正等待大家去發掘,開源碼無私貢獻的精神才是需要傳遞的最主要目的。而不只是單純像很多人找到的商業主題,只是用來趁勢賺錢進荷包,作起無本生意來。

雖然我每日忙碌於專案、寫程式、向別人推廣Joomla!、寫書,但常常想到這些事情的意義是很好的,可以幫助很多人,心情就會很愉快,而不在於能賺進多少錢或出什麼名,或許有很多人羡慕起Eddy與Joomla!社群,但真正願意幫忙社群,不論出錢出力的人,還是很少。這一段,需要更努力,我一直都這樣認為。

我希望能建立一個社群,就算沒有了我,也會有其它人,能夠以同樣的想法與作法,讓這個專案繼續下去。看過了太多優秀的開源碼社群,因為領導的人個人因素導致停擺,這不只是對領導的人是一種損失,對於所有願意參與社群的人來說,更是一種挫折。領導的人一點都不重要,只要能夠把精神和好的作法傳承下去,自然會延續下去。

所以今年的重點會是「傳承」傳承什麼呢?對我來說,我能傳的當然是我對開源碼的貢獻精神,以及我在Joomla!社群中一路學到的經驗及專業。

常常有人說Eddy好像對Joomla!中的細細小小的問問題都可以答得出來,這個沒什麼太了不起的學問,只是"熟能生巧"而已,因為我每天都得被拷問,常被問的問題自然一定背得出來。有些人可能只是學著用或是用一段時間,我被拷問過各式千奇百怪的問題,很自然而然當然不是每個人都會遇到的問題都有找到解答或回答過。

談到經驗,因為我每天都在用Joomla幫客戶架網站,加上之前用Mambo架的網站,架過的網站大概也幾百個了…又是另一個自然而然的結果…

以上這些,只能算是一種"技巧"而已,重點不在於此,要學技巧的東西,事實上永遠也學不完。尤其資訊科技的東西,每天都在變,每天都有新的技術出現,如何學得完?只要學自己目前需要的就行了,太多不重要或太細的技巧,等需要的時候再學來得及,或根本不需要學。

真正要學的東西,是"準則"(Guideline),可以通行於大部份的情況的一種指引,這才是最重要的學問。舉例來說,架網站一定要用開源碼的,因為網站需要客製,有原始碼才能夠有客製化的高度彈性。這句話對很多人來說是廢話,但對於不懂架網站或開源碼是什麼的人,這句話還必需有能夠說服他們的很多理由。相不相信就由你了,要能夠說服別人之前,一定要先說服自己,而且最好要能身體力行,不要只是說說而已。用開源碼架站系統不只是不用錢而已,還需要很多必需要原因,要不然每個作開源碼程式的人一定會先餓死。

對於傳承的實際作法,很快的就會讓大家看到,至少我希望在過年前後,在台灣北、中、南三地,先舉辦小型的交流聚會,聽聽大家的想法,也希望大家能多給我不同的意見。

先預祝大家春節愉快~過個好年!

2007年1月4日 星期四

是開源,不是剽竊

最近又看到許多打著開源門戶、社區、社群的名義,實則行剽竊之實的新網站成立。這些網站的領導主事者,絕對是最嚴重的共犯。你的這個決定,雖然可以很快的網站的人氣匯集,那又如何?你作的是是開源社群,還剽竊社群?

網路時代的進步,誰都知道這些半公開的東西,在身旁已經可以很輕易的取得,舉例來說,利用P2P工具,你可以下載最新的Windows Vista、還在上映的電影盜錄版本、上週剛發片的當紅歌手專輯、幾乎所有熱門的英文電腦書籍…然後呢?所以行方便之事,把它們更便利的整理與列表出來,讓台面下的東西搬到台面上,服務廣大的社群朋友?哈哈…那天還真的出事,受你恩惠的這些人只會看你倒楣,然後尋找下一個類似的站而已,反正掛一個是一個,後面還有一大串,不是嗎?

再回到開源社群,真正的重點是這些「檔案」嗎?並不是,是這些「文件」嗎?也不是,是這些「技術」或「技巧」嗎?也不是,是「工具」嗎?也不是。那是什麼…?所有真正開源社群的領導者都了解這個答案,答案可能很多種,但都類似。

開源的真義是倡導軟體自由的概念,而非在於「分享」所有的剽竊得來的東西,那些只是死的東西,有了工具又如何?有了Vista又如何?而開源碼所有的產物,都是有生命力的東西,由人所創造、維持、進化,而不是單一時間中的某個產物。所有的概念將會透過每個不同的時間點,由不同的方式告訴所有的社群使用者,以及接觸到的人。怎麼樣?很玄吧~

剽竊是什麼,小學生都知道。考試作弊就是一種剽竊行為,問題是作過弊的人,得了高分感覺如何?第一次很緊張,第三次就沒感覺,第五次就覺得理所當然。不過作弊還會請客吃飯,感謝提供高分解答的優秀同學,在網路上的剽竊,只能謝天謝地,感謝有這麼多熱心的網友們,順便自己有什麼「珍寶」也拿出來分享一下。

所有提倡保障創作者權益的人,都希望所有剽竊者,能以同理心來看待,如果你今天是一個創作者,會願意讓自己的心血結果,讓別人不花一毫就拿去用,甚至拿去販賣嗎?這個觀念我倒有不同的想法,剽竊者事實上就是剽竊者,很難也不會想要成為創作者,所以同理心這個策略是失敗的,剽竊者只能成為準備被抓去關的人,沒啥好說的…更何況有些商業軟體廠商,就是擺明了要討好剽竊者,利用來當業務先鋒衝市場。

繞了一大圈,我還是要呼籲一些事,以表明我的立場,以下的行為就是代表你只是個剽竊者,不管你技術有多厲害,貢獻有多偉大。

1.別提供商業(非免費)的軟體在開源社群網站上,分享給大家下載。
2.別經過別人同意就擅自把別人的文章、內容放在自己網站上,也不註明出處,或有不尊重原作者或譯者的行為。

我自己會以此為戒,如果我有犯到一點點的錯誤,歡迎隨時用最嚴格的標準指責我。我真誠希望我是作開源社群的人,而不是作剽竊社群的人。