Orchard(1) 改造免費的CMS成PLM - 案例分享

一.前言

  網路上免費的CMS (Content Management System)平台非常多,但多為php的平台。由於過去對php涉獵不深。因此無法深入了解它們的架構;也就無法對其進行擴充。過去在前公司有導入參數科技(PTC)Windchill PLM平台的經驗。了解其實公司要的不多,拿一般網路上的CMS來改應該可行。只是受限前述的因素也就作罷,直到2014年在網路上無心搜到Microsoft的Orchard這個.Net MVC的CMS,大喜。因為是.Net又是MVC架構,又有Workflow Engine,應該可大顯身手。

二.Orchard
  
  熟料Orchard的相關資料少之又少,好不容易找到O'REILLY的Orchard CMS Up and Running,就好好的K上幾次,其實這是一本很好的書,要打開Orchard的門一定要讀,只是內容不夠深入。對於Orchard的高深技術沒有著墨,好在有許多高手在網路分享及在Orchard Forum上提供解答,因此還是可以(漫漫)進入Orchard世界。好比IDeliverable的Sipke Schoorstra,他在IDeliverable上就有許多好文章,且他會回答Orchard Forum上的問題,我問了幾個問題,他都會很快地回答,老外真是熱心。廢話不多說,就來看我如何改造Orchard CMS成Orchard PLM。

三.開工

  話說CMS就是可以讓你寫文章部落格,Orchard有個Content Type,是定義文件類別的東東,可對文件分門別類,並定義其內容有那些欄位(Content Field),但它沒有交待文件關聯的結構。這樣也就無法拿來作PLM,甚至作PDM都成問題。因此就需要開發交待文件關聯的Part,這時.Net MVC的功夫就非常有幫助了。按圖索驥,照著Orchard CMS Up and Running就先作了一個空的Content Part:GWDocumentPart。

Orchard(1) 改造免費的CMS成PLM - 案例分享

而為了使加了GWDocumentPart的Content Type,可在定義文件類別時指定相關聯的文件。在GWDocumentPart的設定(Setting)便要交待這些設定,免得使用者在建立文件時亂點鴛鴦譜,亂串文件。因此我又設計了這個。
Orchard(1) 改造免費的CMS成PLM - 案例分享

如一來便可在建立文件時提醒使用者可串連那些文件,這樣便可透過文件的相互參照形成用料清表(BOM)的結構,而每份文件即是各種材料的規格。

  使用者在編輯後送簽,文件在跑完流程後,透我我後述的Workflow Activity將文件Release,便可定版。Orchard只提供版本沒到版次,這部份其實還好,有些公司可能連版本都不需要,這樣就更可使用這個免費的CMS來當PLM。PLM,就我認知是管控產品的生命中,其產生的所有有關文件的控管系統,不同的文件有其State及核准程序。透過我建的GWDocumentPart便可建立文件間的各種關聯,對小公司這應該夠用了。大公司則要更仔細去分析設計文件架構來因應,或許要再關發額外的Content Part。因此我想只要文件不用到版次,應該都可用。(有不同意見的請大力炮)

Orchard(1) 改造免費的CMS成PLM - 案例分享

三.表單流程

  PDM/PLM是一個多單位參與的系統,事涉業務,研發,採購,供應鏈等。因此一個PLM沒有表單流程是行不通的。所幸Orchard有內建Workflow,只是其所附的Activity非常陽春。因此也拜.Net之賜,我又客製了Activity,在這個過程幸有Sipke的文章及他在討論區的解答讓我能順利開發我要的Workflow Activity
Orchard(1) 改造免費的CMS成PLM - 案例分享

四.結論

  有了Orchard的各種Content Field及網路上眾熱心人士分享的Content Field,如FileField...,使得我目前的系統功能很能符合使用者的需求。Orchard真是一個非常好的應用程式平台,不只是作CMS,PLM,也是各種應用程式的平台,希望看到我這文章的朋友也能夠享用這個免費的CMS。目前我的使用者已在系統上開了20幾萬份的文件,沒聽到他們抱怨系統反應慢,MVC的效率真不是蓋的。

2018-01-12 14:35 發佈
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?