2018/04/12

SampleCMS 系統組件關聯圖

SampleCMS 內容管理系統為三層式架構設計,以功能區分為兩大類,「帳號與權限系統」與「網頁內容發佈系統」。

下圖為系統組件關聯圖,以下說明:

SampleCMS 系統設計說明:前言

SampleCMS 是一個基本款內容管理系統 (Demo、Source),是我在最近7年工作的過程中將各個前輩留下來的內容管理系統整理、歸納、簡化與重新設計後的結果。在此感謝先得利資訊讓我進入製作內容管理系統的領域,讓我能夠看到以及參與製作各式的內容管理系統;感謝叡揚資訊讓我有機會接觸與學習不同的系統架構設計方式,增加了我在物件導向程式設計的經驗。

回題,
SampleCMS 主要提供的功能如下:

SampleCMS 系統設計說明:目錄

1. 前言
2. 系統組件關聯圖
3. 系統資料表說明
4. 資料層元件說明
4-1. 基本的呼叫方式
4-2. 指令執行者 DataAccessCommand 運作方式說明
4-3. 依照 Stored Procedure 建立基本的指令資訊類別 (DataAccessCommandInfo)
4-4. 客製化指令資訊類別 (DataAccessCommandInfo)
5. 帳號與權限系統元件說明
5-1. 帳號與權限規則說明
5-2. 元件提供的功能與使用方式
5-3. 客製化權限判斷
6. 網頁內容發佈系統元件說明
6-1. 元件提供的功能與使用方式
6-2. 自訂帳號授權結果
7. 網頁共用元件說明
7-1. 簡介
7-2. 後台相關元件分工說明
7-3. 前台相關元件分工說明
8. 前台網頁預覽功能驗證方式說明
9. 附件管理共用元件說明
9-1. 附件管理功能概述
9-2. 附件管理共用元件 AttachFileManagerLogic 使用方式
9-3. 附件下載共用元件 AttDownloadCommon 使用方式
10. 參數過濾元件說明


2018/03/06

個人作品:把 SampleCMS 資料層改寫為使用 Entity Framework 6 的另一個網站 SampleEFCMS (2018-03-24 更新)

說起來,在 2011 年左右,我對 Entity Framework 就很好奇,只是當時工作上沒機會接觸,下班後所剩的時間也不多,都先花在更需要用在工作的其他技術上。7 年後的現在,趁著待業中的這段空閒時期,趁著剛完成 SampleCMS 的這股衝勁,終於開始真正的去學習與使用 Entity Framework (Database First)。

SampleCMS 資料層是以 Stored Procedure(以下簡稱 SP) 為基礎,算一下大大小小共寫了 105 個 SP,單純的複雜的都有。SampleEFCMS 將其中的 103 個都改為用 LINQ to Entities 的方式達成相同功能。幸運的是,比較進階的坑有踩到幾個(e.g., OrderBy 的欄位名稱需要用字串動態更換、where 的 or 條件需要動態串接),卡關的同時也在網路上找到高手寫的 LINQ 擴充函式,覺得不虛此行。

以下為 SampleEFCMS 相關連結:


2018/02/02

個人作品:基本款內容管理系統 SampleCMS 開放測試網 (2018-05-15 更新)

續 上篇
距離上次曬完圖又過了兩個星期,我在這個系統加上了針對弱點掃描軟體所做的參數過濾機制,後台登入頁加了 "變更密碼、忘記密碼",另外也對前台做了初步的壓力測試並調整不足的地方。最後加入 guest 試用帳號相關功能並且試著把系統放上 Azure,目前結果看來還算可以,以下放上相關連結: