MDBO 系統

其實我在很多年前就想製作這個系統了,當時有一個需求,個人的網站的需求,因為我的 FB 被官方查封了,官方要求實名制,而我可能在某些事情上和左岸人士有些不同的見解,就被整群整群的檢舉使用假名字,FB就要求我上傳身分證證明我自己,證明的過程很瞎,總之我否決了,那就是不用 FB 了。

回到這個系統,發想的時候我又不想像部落格一樣,我希望這個系統能滿足貼文或說新聞發佈,這樣就夠了,因為網站終究是取得資訊的場所,那麼,差別只在於發佈的新聞類型是什麼,比方業界新知(這種其實最無用,純粹滿足SEO)、某人的動態、個人的動態、產品資訊...之類的,既然這樣,那我就把所有的類型全部簡化成單一類型就好,也就是卡片就行了。

既然有了卡片,那麼就需要一個後台,也要有使用者,也要有編輯,反正就是新增、更新、刪除這些老生常談的功能就對了,大概有了這些想法後,我就花點時間規劃一下資料庫的結構,寫好了以後,這個想法就因為工作而停擺了。

這陣子,因為有Job的需求,我就想,好吧,把它做起來好了,我就先畫草圖、色彩計畫,把視覺的部分稍微定義一下,然後從後台程式開始寫,剛開始,我本來沒有寫類別的功能,我就想,類別就三種就好,反正只有我自己在用,後來等到文章功能都寫完以後,問題就來了,我想到,這個系統不應該只是用在get job而已吧,我希望它能用在其他真正的新聞功能上,因為我一直想弄一個跟老車、復古車相關的網站,還有法院公義問題相關的網站,那麼,根據這些需求,類型就不可能只有我剛開始定義的幾種而已,可能到時候會一狗票,因為我不能干涉記者或報導者決定要寫什麼類型的東西,很可能他會突然自己想開什麼類型的出來也不一定,這有點像標籤,但又不太像。

後來我就在前端都已經寫好的情況下,又增加了類別的功能,前端的話,其實也就標準的RWD,不過我有加入一些動態外觀的功能,如同前面說的,剛開始,由於我只定義三種類別,那麼,頭腦簡單的我,就寫了三個繼承自基礎類別的外觀,但一如前述,類別功能完善了以後,這個作法就不切實際了,後來,我就把這三種因為類別而被定義出來的外觀,改成,單純的三種外觀,然後,寫一個演算法,每次載入的時候,被查詢的DOM會隨機套用三種之一,這三個外觀其實也只是主掌卡片的長寬而已,要說是大、中、小,這樣也可以,我真聰明,就是大中小,然後在設置一個單、雙DOM下不同的顏色,這樣,就會有三種不同大小的卡片、兩種不同的卡片顏色,彼此互相隨機。

也就是,每次查詢出來的結果,除了 All 以外(All我設為 random),類別單獨查詢時,是有order規律的,這是當然的吧,不然到處都隨機,使用者也會困惑的啊,這樣一來,縱然有order規律的查詢,也會因為隨機的外觀,而產生,好像很豐富、不同的樣子(其實每次查詢出來的都是一樣的資料啦)。

然而實際上測試了以後,發現這樣顏色太花,雖然卡片外觀三種不定義顏色,只有單雙會定義顏色,但卡片貼文本身有一個自己的cover,我們不可能干涉使用者決定用什麼色系的圖片吧,這樣,單雙顏色的卡片就會讓整個網站看起來花上加花了,那麼解決方案有兩個,一是每次的cover我用程式轉成單色或灰階,二是卡片的顏色先單純化,我選擇第二個方案,第一個方案太憂鬱了,墓園業者可能會喜歡。

就這樣,第一版大概如此一般的就完成了,當然中間也不少bug,一邊寫一邊自己開bug單,然後同步到GCP以後,還有因為環境的落差而導致的問題,都排除了以後,現在就稱作v1.0版好了,接下來可能會想再修改一下查詢或類別的規則,以及要想一個,若有記者真的開大量類別的時候,前端要怎麼應付的辦法,以及類別和類別之間可以有重疊的可能性,但我不希望它是標籤,再來就是,名人動態追蹤,這個應該也可以加進來,這樣就會豐富許多了。