Pages

Showing posts with label Web App. Show all posts
Showing posts with label Web App. Show all posts

September 9, 2007

交大悄悄採用 Google Apps 了!

交大建築所已經享受了將近兩年的 Google Apps,交大校方終於跟進,悄悄的提供了交大 Google Apps 服務!詭異的是校內還同時存在好幾套 email 系統:d2, mail, faculty, 加上新增的 Gmail,恐怕會讓大家搞不清楚狀況。而且,計網中心網頁完全沒有提到 Google Apps,只在選課系統中提到會幫今年新生整批申請 Gmail(只限今年新生喔),也沒有詳細說明 Googla Apps 和一般 Gmail 的不同,如此多頭馬車的狀況,我猜一定會引發一陣混亂,例如:「我到底要用 d2 還是 Gmail 登入選課系統?」...「我已經有 Gmail 帳號了,為什麼不能登入?」...「什麼叫做 Gmail 但是有交大網域?」...「到底什麼時候該用 d2 什麼時候該用 Gmail?」...「吼~email系統不能只用一個嗎?」...。

追蹤報導(2007-09-27)
據計網中心表示,校方還在評估將正式 email 系統全部移轉到 Google Apps 的方案,目前只能算是試用。另外根據新聞報導,交大校方是因為李開復博士幾個月前來交大演講時才知道這個服務,咱們建築所已經快樂的用了一年多(請看討論串建築所電子郵件已改由 Gmail 代管),國外也有不少大學採用,在網路時代這樣子動作有點慢喔。不過說實在話,對於中小型學校來說,採用 GApps 後所節省的管理資源的確可觀,但對於大型學校就不盡然適用了,反而要顧慮受限於各種功能上的限制,難以滿足特定需求。我並不鼓勵交大校方貿然移轉到 GApps。

August 25, 2005

Google Maps & Google Earth 是行程規劃好幫手

下個月底要到里斯本參加研討會,這當然又是一次旅遊的好機會,雖然時間十分有限(天殺的選這種日子辦研討會,開學第二週要我抽身出國,簡直要命!)。前陣子玩過 Google Earth,就拿它來幫忙我安排旅程,當然不是安排日子和班機,而是跟地理位置有關的東西,例如:測量兩地距離、事先規劃步行路線、觀察景點位置和周邊環境等等,非常酷!大家一定要試試!當然前提是空照圖要夠精細,所幸很多大城市應該都可以到一米以內的解析度了。

網路上看到很多人貢獻了自己的 Placemarks 和 Notes,里斯本也相當多新資訊,希望很受用。

June 30, 2005

地圖愛好者的天堂

我相信有不少人(尤其男性朋友們)對看地圖有一種莫名的興趣,以下這些東西一定會讓你上癮:
  • Google Maps: 孤狗地圖,除街道圖、商店索引、里程規劃外,還有解析度高達四公尺的衛星照(微軟的 Terraserver 只提供八公尺解析度衛星照),可惜美國、加拿大、英國之外的地區都沒有街道圖,但這些已經足夠讓人流連忘返。來看交大衛星照,還可以繼續放大喔。我們應該舉辦一個從衛星照找地點的比賽,例如看誰可以最快找到龍潭的渴望園區,當然這不能隨便玩,前提是你得去過現地、清楚地理特徵、以及善於辨認方位。
  • Google Maps API: 光看地圖和衛星照有什麼好玩?能夠用 Google 的全球衛星資料庫來寫應用程式才酷!Google Map API 是 JavaScript 程式界面,可以讓你開發各種地圖應用。已經有人拿來惡搞把加州 Palo Alto 變成星際大戰場景。地圖迷們,繼續沈迷吧~
  • Google Earth: 這才是最酷的玩意兒,是 Google 併購自 Keyhole 公司的全 3D 地理景觀瀏覽技術,只支援 Windows XP 和特定等級以上的顯示卡,可以讓你如同坐飛機般用 3D 的方式飛越全世界!免費版只能飛來飛去看爽的(爽度已經很高了),付費版還能匯入 GPS 導航資料、地理量測、...等進階功能。
  • [7/5/2005補充] 才正在想說如果可以透過手機查閱 Google Maps 不知道有多炫~ 結果今天就看到這個 Mobile GMaps,真是天殺的。手機必須支援 Java/J2ME (CLDC 1.0 and MIDP 1.0 以上) 和網路連線 (WAP/EDGE/3G),機型包括 Nokia 60, 80, 90 系列、支援 MIDP 1.0/2.0 的 Nokia 40 系列、以及支援 MIDP 2.0 的 Sony-Ericsson 手機。

May 30, 2005

Model-View-Controller

MVC 是物件導向設計裡 Design Pattern 的一種,用來將資料模型、執行邏輯、與前端圖形界面區分為三個層次,許多新式資訊系統與應用程式撰寫準則都建議用此方法來簡化未來維護成本,當然在設計階段會複雜的多,而且對初學者來說雖然 MVC 的理想很容易想像,但執行起來卻並不容易。pLog 開發團隊採用 MVC 為準則自有其理由,而且優點應該多於缺點(以網路資訊系統易於惡搞的特性來看),但是美中不足的是 pLog 自己外觀和外掛模組有不少並沒有忠實按照 MVC 準則來作,應該放在 View 層的程式碼竟然跑到 Control 層去,很頭大~

May 29, 2005

升級到 pLog 1.0

orz從 pLog 0.3 升級到 1.0 的資料庫更新過程還算順利,不料外觀、語言模組、和外掛卻要花費很多時間一一更新,管理界面也一團亂,哎喲~沒事找事做~orz...

補述:管理界面混亂是 HTML code 問題,但外掛和外觀模組因為用新的程式架構,舊版的東西不容易移植過來,最好是原始作者願意親自出馬,否則很花時間。過去自己玩改裝總是亂改,現在要有系統的改(例如原版一律留副本),以後版本更新時才不至於心血付諸東流、一切又得重來。

Serendipity 不期而遇的經驗

看到 Serendipity 這個網誌系統真的是網路上的不期而遇~我對這個字原本就有好感,自然想試試看,初步嘗試到安裝頁面感覺沒什麼技術門檻。不過今天網路速度慢,改天有空再好好試一下。

March 2, 2005

國家科技人力資源庫

今天收到一封信,邀請我到國家科技人力資源庫更新個人資料,由於過去一陣子收到不少邀請函,不是填個人生日就是好友連線,而這些多半是惱人的廣告,所以我對這封信格外小心,不過卻發現是真的。這是由財團法人國家實驗研究院科學技術資料中心所掌管的國家級資料庫,不錯不錯,台灣早該有這樣的資料庫了!不過類似的填表程序我已經做過不下兩三遍,每次都要填寫煩瑣的內容,實在是另一件惱人的事情。

用後感想:填表系統設計不錯,統計數字的部份如果能作成圖表呈現會有趣、有用得多。缺點是編碼竟採用 big5,應該盡快採用 unicode 啊,要不然就有無止盡的游錫方方土(堃)和王建火宣(煊)!

檢附原文如下...

January 12, 2005

提高動態網頁生產力的工具

製作動態網頁時,只要有表單,表單檢查 (Form validation) 就是必要且痛苦的編寫過程,目前我採用的 VDaemon 就是一套專門用來作表單檢查的 PHP 函式庫,它最大優點是預設使用 JavaScript 作用戶端表單檢查,如此一來資料不需要送回 server 才檢查,當然它還有第二層伺服器端檢查,還可以做完整的表單問題整理與回報,並標示有問題的項目。

其次,樣板引擎 (template engine) 也是製作動態網頁(尤其大型網站)時十分重要的一環,與其自己花大量時間開發維護,我選擇採用 Smarty 這個強大的樣板引擎來協助工作,當然從自己的工作邏輯轉換到適應 Smarty 的邏輯需要一點時間,但我發覺它的擴充性強,可以讓使用者自行開發變數修正器 (variabel modifier) 和樣式函數 (template function),對於 PHP 程式概念熟悉的人可以說是幫助很大。

當然最重要的不外乎了解並運用資訊架構 (information architecture; IA) 設計方法,從流程與資料面妥善分析系統,並利用樣板引擎將工作邏輯 (working logic) 和視覺呈現 (visual representation) 分開,如此一來便可以降低維護成本、維持擴充彈性、以及增加實用性。

回過頭來小牢騷一番,提高生產力的前提是懂得正確的操作方法以及有完整的工作流程,對於初學者或者稍有經驗的人來說,歷經市面上各類電腦書籍和網路上快速入門祕訣的洗禮之後,往往面對案子或問題都是見招拆招,沒有正規的工作分析與製作流程,當然對小型網站系統可能沒問題,對只想把簡介和型錄一五一十放上網路的公司也沒什麼影響,但只要跨越一個門檻、真正面對大型商業或社群網站時,就知道問題的嚴重了。然而另一個問題是網站設計案幾乎沒見過合作、只有統包,台灣網站製作承包多單打獨鬥,一人軍隊或兩三人的工作室為大宗,工作內容包山包海,從美術設計、界面、操作流程、資料庫到程式設計樣樣都來,據我所知承包大型網站的國外設計團隊講求合作、溝通,視覺設計、系統規劃和資料庫通常是分開的兩組人,還另外要培訓客戶端的維護團隊一起加入,人人各有專長、各司其職,最後通常是形成長期合作關係,而不像台灣的快速反應部隊,成不了大氣候。台灣大型跨國企業網站多承襲自母公司,鮮少能自己設計規劃,大型本土企業也多委託具規模的設計團隊來規劃,而絕大多數的中小型企業網站就和滿街的網站設計生力軍混成一氣,廝殺出一片看不到風格的風格。

January 11, 2005

修補 PHP 4.3.8 安全漏洞

參考這篇文章,PHP 4.3.8 有嚴重安全漏洞,有心人可以利用某一些函數(如 unserialize 和 realpath)取得主機內部資訊,例如 phpBB 2.0.x 的設定檔 config.php 內容。任何使用 PHP 4.3.8 的系統都要盡快升級到 4.3.10 或 5.0.3 版。建築所論壇就是採用 phpBB2,也的確發生入侵事件,論壇首頁被植入不明程式碼,目前已經修復。

由於 FC1 沒有事先編譯好的 PHP 4.3.10 可供安裝,只好自己來,幸好可以從網路上偷別人的經驗,目前已經順利升級到 4.3.10。奇怪的是按照 4.3.8 的設定資料來編譯,PHP 模組竟然被安裝在 /usr/lib/20020429 這個目錄,而非 /usr/lib/php4,害我重新安裝 Turk MMCache 時卡住了一陣子。

重裝 PHP 時欠東欠西的,又用 yum install 了以下這些元件:bzip2-devel、libxslt-devel、imap-devel、pcre-devel、mysql-devel、postgresql-devel、aspell-devel、net-snmp-devel、elfutils-devel、unixODBC-devel。

September 21, 2004

MOD 愛與恨

諸多 open source 網路應用程式都可以讓管理者自行修改程式碼∼「親愛的,把它 MOD 一下吧」。這裡 MOD 當作動詞或名詞都可以,就是 hack、鑽研修改之意。良好的系統架構可以讓 MOD 變成像是安裝外掛模組般簡單,可惜多半不是這回事,管理者得按照 MOD 中的指示手動修改程式碼,這樣的做法我認為時效很短、禁不起系統改版的考驗。拿建築所 phpBB2 為例,該系統已經跑一段時間,應該夠穩定了,昨天準備來安裝一些 MOD 增加 phpBB2 的功能(例如很重要的主題匯集、RSS、以及更完善的系統管理功能),雖然找到了一些不錯的 MOD(天哪!手動改原始碼∼那每次改版都要改一次,怎麼受得了∼),但心裡就是覺得不甘心這樣改,實在很 low∼ 總覺得應該設計更好的外掛模組架構,或者起碼像 pLog 一樣只要透過修改一個檔案(config.php)加入該模組就可以使用。pLog 採用 SMARTY(我最尬意的 template engine),修改樣版十分簡潔快速。

過去曾經想要為這類程式開發一組橋接模組,用來與異質系統整合,但是到現在 idea 現在還在腦子裡∼ 一來我的時間有限,二來除非該程式下次改版能考慮我的做法,否則我的模組也只能做個版本跟隨者,永遠沒有完善的一天。

說歸說,在沒有更好的解決辦法之前,我還是會花點時間把一個個 MOD 裝進去的∼ orz

August 9, 2004

好用!網頁配色工具+令人咋舌的CSS技巧

不小心逛到 Kim Jensen 的 ColorMatch 5K,這是一個幫你配色的小工具,尤其是製作網頁、調整網誌 CSS 都非常好用。而 ColorMatch Remix 是一個功能加強版,可以配八色、指定十六進位顏色碼、內定色表、儲存顏色值、輸出 Photoshop 和 Illustrator 的色彩設定檔。接著,又找到 Unsafe Colormatch,愈來愈完整的配色工具。棒!棒!棒!想到以前搞設計手邊總有一本配色事典,這個可以說是網頁設計專用的配色事典。看起來很有發展為超強配色工具的潛能。

然後,在 pixy 的網誌裡面列了幾個我認為非常厲害的 CSS 技巧,你自己看了就知道。他也有一個網頁配色工具 Color schemes,很專業。

pLog 0.3.2 & PhoneAgent

前幾天將 pLog 昇級到 0.3.2 後才不小心發現原來 URL 裡可以用帳號,不必一定是無意義的數字,也許舊版就可以了吧∼不求甚解。以後網誌就是 http://www.arch.nctu.edu.tw/blog/jhou ,漂亮多了。另外,想到每次寫網誌都要另外登入就很不爽,為什麼不能在論壇登入一次就可以周遊各種網路服務呢?怎麼沒有人想到寫一些帳號認證的模組給各個套件用呢?唉,雖然時間已經不夠用,但這種感覺就像是拖褲子放屁,還是要想辦法抽點時間改程式,以消除心頭疙瘩。

話說用了 Salling Clicker 之後的確讓我的 T610 如虎添翼,雖然從來沒有寫過一個 Applescript 程式(慚愧),但它現成的東西就已經玩不完了、哪需要寫。不過呢,一直有個遺憾,就是我要在手機裡面的記事本放一些隨身資料(例如公車時刻表),偏偏手機的輸入法是全世界最白癡、最龜速的東西,用不到一分鐘就快要發瘋,心想怎麼沒有讓我可以從電腦傳文字資料到手機記事本的工具呢?我記得曾經看過啊∼嘿∼今天心血來潮,到萬能的 VersionTracker 一查,果然找到 PhoneAgent,后!還是專門給 T6xx 家族用的咧!未註冊版就可以傳文字到記事本,反正我沒事也不會去改外觀、圖片什麼的,等於是免費的好東西。酷!PhoneAgent 讓我的數位生活又更接近完美了。

看到 SonyEricsson K700i 的心情就如同樂痴看到 iPod 一樣....好.想.要.喔∼ 幸好沒有 GPS,否則馬上敗下去。看看手邊的 T610,好用歸好用,比起這個年輕一歲的小老弟就顯得老態龍鍾。哎喲∼忍耐忍耐∼現在沒有太多本錢敗家。

August 7, 2004

pLog 昇級附贈大量新樣式

這下好玩了,pLog 0.3.2 版雖然只是除蟲小昇級,但卻新增大量模版樣式,我花 20 分鐘昇級、改程式碼,再花半個小時把這些新樣式的螢幕快照放在相簿裡頭,這樣子大家就不用一個一個試。

July 27, 2004

Web photo albums

People loves to share photos on the web, either by means of photo album, photo blog, or inline entity on a web page. I love web photos because I don't have to carry tons of photo albums with me, and, of course, because I use digital camera. PBase is my primary web photo sharing place and I am quite happy with its services. An annual fee of 25USD for 200MB is really a good deal. One thing I love is that you can upload an image archive and save a lot of time, comparing to uploading images one by one. Another reason is that there are so many professional photographers gathering on PBase, you can always find great works on it.

Recently I also start using wretch.twbbs 無名小站 as another web photo album -- a free service provided by an experimental project of Computer Science in National Chiao Tung University. Not only free, it starts with 200MB storage space, and if you stay online long enough in their BBS (500 hrs, as far as I know) you get 500MB! I like this site not because I graduated from this school and now working here, but because this experimental project is really cool. One thing tedious -- you have to select images one by one and do a batch uploading, unless you use Windows XP's web photo uploading wizard (now if we have this feature on OS X). But hey, I haven't tried yet, maybe it can be done on OS X already.

I have used following nice tools for managing and tranferring images for web photos: everyone knows iPhoto, if you use .Mac service. Web Photos Pro is for making and uploading photo albums to the web. It has Mac OS X and Windows XP/2000 versions. Then, Gallery Remote is a Java program for the famous PHP-based photo album system Gallery.

July 22, 2004

mediawiki

I am now trying mediawiki -- which is good at handling media files and is unicode-savvy. Installation was easy but I have struggled for about 20 minutes in setting up the non-ugly URL stuff. It was finally solved by following this discussion. It is capable of enhanced user control -- though not ideal, it is far better then other wiki systems. I am still wondering why most wiki systems don't want to implment full user management so controlled collaborative editing could be easier to set up. I love open environments and open editing platforms. And I also love to use wiki in wider applications.

I'll be working on customized tempalte later.

June 24, 2004

pLog plugin mod: galleryimages

Galleryimages is a plug-in for pLog which enables showing a recent uploaded or a random image -- only ONE image. I made a modification to the plugin and have added a new function to allow showing a number of images orderred by date from a specific album. By this function I can show recent books read (see the bottom panel on the right) or recent baby photos. Though it is similar to the plug-in CurrentlyAddictedTo, it doesn't need a wizard to manage images. All you need to do is upload images to a named album.

Galleryimages 這個 plug-in 讓 pLog 可以顯示相簿中最近上傳的圖、或者隨機秀圖,但最大限制是它只能秀一張圖。我增加了一個函數讓它可以秀特定檔案夾(album)裡最新的幾張圖,這樣我就可以秀最近讀過的書的封面(請看右列 panels 最下方)、最新的貝比照片...等,有點像 CurrentlyAddictedTo,只不過沒有設定類別和管理項目的功能,圖片管理很單純,就用 album 名稱。

Open and edit plugins/plugingalleryimages.php, insert following codes after function randomImage():
編輯 plugins/plugingalleryimages.php,在 randomImage() 函數之後加上這段程式碼:
/**
* Returns a number of recent uploaded images from a
* specific album (assigned by album name).
*/
function latestImagesInAlbum($albumName, $limit)
{
$resources = new GalleryResources();
$prefix = $resources->getPrefix();
$blogId = $this->blogInfo->getId();
$resourceArray = array();

// We choose only images from a specific album
// and limit the number by variable $limit.
$query = "SELECT r.*
FROM {$prefix}gallery_resources r
LEFT JOIN {$prefix}gallery_albums a
ON r.album_id = a.id
WHERE r.resource_type = 1 AND a.name = '$albumName'
AND a.owner_id = $blogId
ORDER BY r.date DESC LIMIT $limit";
// just to make things easier, we'll cheat a little here...
$result = $resources->_db->Execute( $query );
if( !$result )
return false;

while ($row = $result->FetchRow()) {
$resourceArray[] = $resources->_fillResourceInformation( $row );
}

return $resourceArray;
}

Then find a proper place in the template where panel group is defined, such as panel.template, and insert following codes:
然後在定義 panels 的 template 中(例如 panel.template)適當位置加入:



Finally create a new album and name it "Books" (no quotes). From now on, 3 recent images (only image) in this album will be shown in the panel "Recently Read" and image description will be shown as small text under the corresponding image. Recent images in album "Musics" will be shown in the panel "Recently Listened".

再到檔案中心(Resource Center)增加一個檔案夾(Album),命名為 "Books"(不要雙引號)。此後上傳到這個資料夾的圖片(僅限圖片)會在 Recently Read 欄中按日期顯示最近的 3 張圖,說明會以小字顯示在圖片下方。命名為 "Musics"(不要雙引號)的資料夾則會顯示在 Recently Listened 欄內。

For quick adoption of this plug-in mod, download it here:
請按這裡下載修改檔:[Download galleryimages_mod.tar.gz]

Well, I just found in Mark's Place a similar mod is made available for download. It uses album ID and mine uses album name to identify albums. Using album ID seems to be good for data uniqueness. However one always needs to modify the code manually, which is not feasible for multi-user pLog (like us) unless every user install his/her own template and know how/where to change. System administrator only need to add panels whenever user requires. And only when the album exists and images can be found in it, the corresponding panel shows up.

另外,剛剛發現在 Mark's Place 也提供了類似的修改方法,基本上做法一樣,但他用 album ID 來指定檔案夾,雖然資料唯一性可以顧及,但都要手動修改程式碼,像我們這個多使用者環境,除非每位使用者都自己裝一個 template 才能這樣做。系統管理員只要按需求新增 panel 定義,只有當該使用者的檔案中心有相對應的檔案夾存在、而且裡面也有影像檔的時候,panel 才會出現。

June 23, 2004

Gallery 或 Coppermine?

前幾天找到一個不錯的相簿系統 Coppermine,不僅程式架構清楚(設計外觀容易)、還可以和 phpBB2 整合(共用使用者資料庫),缺點是檔案上傳機制不夠方便、設定相簿封面麻煩,另外不算缺點的特定是它要靠 MySQL 儲存所有資料。我把它架設在這個暫時網址測試,外觀設計真的不難,與 phpBB2 整合也還算順利,只是 login 都會重指到 phpBB 再跳回來,有點識別錯亂。另外我喜歡 Coppermine 的一點就是 public 和 private 相簿分的很清楚,個人相簿不能亂放,不會像 Gallery 一樣需要管理員額外花心思整理階層架構。

所上目前用的是 Gallery,比起來 Gallery 重新設計外觀真的不容易,要新增功能也麻煩,原因是它的程式架構不清楚,搞不清楚東西放哪裡。舉個例子來說,首頁檔頭放在 /html_wrap/gallery.header.default,但接著的語言選擇和搜尋表格便由 albums.php 直接產生,不經任何 template 控制,找了半天才找到。不過在 Gallery 裡面指定相簿封面就直覺多了,而且管理相簿也簡單。

兩個系統之間比較之後,我並不能很堅定的說哪一個比較好,各有優缺點之外,現有的使用者意見也很重要,如果大部分人不願意(或懶得)換,把 Gallery 外觀改過之後其實也蠻耐看的。(我想除非有強烈需求或重大的因素,要不然就沿用 Gallery 吧。)