Content Management
1. 認識顯示區塊
預設的 Plone 網站外觀採三欄式介面,由上而下,依序概分為四個顯示區塊:
- 表頭區塊 (Header)
- 中間內容區塊 (Main Content)
- 左右側邊區塊 (Sidebar)
- 表尾區塊 (Footer)
左右側邊區塊可以指定各式資訊方框,例如行事曆、新聞、活動預告等。
1.1 表頭區塊
表頭區塊提供全站式的導覽指引,它又可細分成:
- 標識圖 (Logo) : 點選後可連結到首頁。
- 個人資訊列 (Personal Bar) : 提供密碼變更、文件管理的介面。
- 搜尋方框 (Search Box) : 提供即時搜尋的功能。
- 導覽頁籤 (Navigation Tab) : 可以設定連結到主要的內容位置。
![Header](https://lh5.googleusercontent.com/-70foQnuT8bs/T4zs_w1FoCI/AAAAAAAAAKE/O07D7FB2edQ/s800/HeaderIndicated.png)
瀏覽預設的 Plone 網站時,未登入的訪客 (anonymous mode) 和登入後的使用者 (authenticated mode),兩者看到的畫面略有不同,例如,未登入前的個人資訊列會看到「Log in」的字樣,登入後則會看到「Log out」的字樣,並在個人資訊列顯示會員名稱等訊息。
![Anonymous and Loggin View](https://lh3.googleusercontent.com/-QtdsiupBI1M/T40AoyaC-aI/AAAAAAAAAKc/Sw0MU8e0y9E/s800/login-before-after.png)
未登入的訪客只能瀏覽公開發佈的內容,登入後的使用者,則會依照權限或角色,獲得相對應的資料存取功能,例如修改個人帳號資料,編輯內容項目,設定分享模式,管理工作流程等。
登入失敗的話,系統會顯示「Login failed」訊息,如果忘記密碼的話,還可以要求系統重新寄送通知信。
![Login Error](https://lh4.googleusercontent.com/-PwWSenzeu50/T40DO3YTK-I/AAAAAAAAAKs/vJ54mSj3yPY/s800/LoginError.png)
Plone 裡的預設角色,以會員 (Member) 和管理員 (Manager) 兩者最常見,這兩種角色在權限和功能方面,有何不同呢? 舉例來說,會員只能在特定的目錄裡新增內容項目,管理員則可以在任何目錄裡新增,會員只能新增或編輯內容項目,卻不能發佈它們,管理員則可以發佈它們。更詳細的角色權限說明,將在後面介紹。
1.2 個人資訊區
點選會員名稱後,會顯示個人資訊區 (dashboard),預設畫面包含一個「最近更新 (Recent Changes)」的資訊方框、內容建立清單 (Profile)、變更密碼、偏好設定 (Personal Preferences) 等。
![img/Dashboard.png](http://140.109.160.129/iis/python/ContentManage/img/Dashboard.png)
在會員名稱右方,如果看到 My Folder 項目,點選它可以進入個人資料夾,也就是所謂的目錄。目錄是一種內容項目 (Content Item),使用者在目錄裡可以再新增各式內容項目,新增方式將稍後介紹。
![img/MyFolder.png](http://140.109.160.129/iis/python/ContentManage/img/MyFolder.png)
Note
前台管理的 Security 項目「Enable Users Folders」選項,就是決定「是否啟用 My Folder」的設定。
個人資訊列最右方是 Log out 項目,點選之後可以登出系統。
1.3 主要內容區塊
使用者如果擁有足夠權限,在主要內容區塊的上方,會看到兩排功能項目,上面一排是頁籤 (tab),下面一排是選單 (menu),我們分別稱為「內容頁籤」和「內容選單」。
![img/TabMenu.png](http://140.109.160.129/iis/python/ContentManage/img/TabMenu.png)
以目錄 (My Folder) 為例,預設的內容區塊又可細分為:
- 路徑資訊列 (Path Bar) : 也稱為麵包屑列 (Breadcrumb Bar),能提示現行瀏覽位置。
- 內容頁籤 (Content Tab)
- 內容動作 (Content Action)
- 標題 (Title)
- 署名 (Byline)
- 文件內容 (Document Content)
- 文件動作 (Document Action)
![img/FolderIndicated.png](http://140.109.160.129/iis/python/ContentManage/img/FolderIndicated.png)
不同的內容項目,雖然內容區塊的細項未必完全相同,但稱得上是大同小異。
2. 內容管理入門
內容項目 (Content Item) 是 Plone 主要的管理單位,也可以簡稱為項目 (Item)。想要新增內容項目的話,請從內容選單點選「Add new...」下拉選單,再把游標移到想要新增的項目上。
![img/AddNew.png](http://140.109.160.129/iis/python/ContentManage/img/AddNew.png)
Plone 預設提供下列幾種內容項目,適用的場合分別介紹如下:
-
頁面 (Page)
純文字或 HTML 格式的內容,適合使用頁面,例如教學文件、會議記錄、研究報告等。
-
新聞項目 (News Item)
想要發佈新聞稿、最新消息等場合,適合使用新聞項目。
-
事件 (Event)
想要新增會議通知、行事曆的場合,適合使用事件。
-
圖檔 (Image)
例如 JPEG、PNG、GIF 等圖片檔,適合使用圖檔。
-
檔案 (File)
例如 Office、PDF、MP3、AVI 等格式的檔案,適合使用檔案。
-
連結 (Link)
想要新增書籤、我的最愛、網址資訊時,適合使用連結。
除此之外,想要將內容項目分門別類時,可以使用目錄 (Folder) 或群集項目 (Collection)。
內容項目包含一些欄位,需要使用者填入適當資料,例如新增事件時,需要填寫起始時間與結束時間。必填欄位會標明紅點,如果有漏填或填錯的資料,系統會提示修訂訊息,例如 Title 欄位是常見的必填欄位。
![img/RequiredField.png](http://140.109.160.129/iis/python/ContentManage/img/RequiredField.png)
接著,我們將由淺入深,逐步介紹內容項目的操作方法。
2.1 新增頁面
頁面是最通用的內容項目,下列以製作自我介紹為示範情境,步驟如下:
- 填寫 Title 欄位,內容為「About me」,刻意使用英文,是為了藉助 Plone 預設的 Title-to-ID 功能。
- 填寫 Description 欄位,內容是摘要文字。
- 在 Body Text 欄位填寫詳細的自我介紹內容。
- 在 Change Note 欄位填寫本次編輯的註解,本欄位通常可省略不填。
- 按 Save 鈕確認送出。
![img/ExamplePageEdit.png](http://140.109.160.129/iis/python/ContentManage/img/ExamplePageEdit.png)
所謂的 Title-to-ID 功能,是指建立內容項目時,系統會把 Title 欄位的內容轉成 ID,這 ID 是 URL 的一部份。轉換方式是把大寫英文改成小寫,把空白鍵改成減號,例如「About me」會轉換成「about-me」。那麼,中文會怎樣轉換呢? 例如「自我介紹」會變成「81ea62114ecb7d39」,這是一般人不能聯想的一串字。
實務上的變通方式,可以先在 Title 欄位填英文,例如「about me」,讓它自動設定 ID 為「about-me」,之後再編輯 Title 欄位改填中文,例如「自我介紹」,這樣就可以擁有望文生義的 URL 和標題。
Note
也有讓中文標題以漢語拼音方式支援 Title-to-ID 的功能,另外也要留意 normalizer 有字元長度限制。
上述的頁面會出現在 http://localhost:8080/Plone/Members/marr/about-me
之類的網址,畫面範例如下:
![img/ExamplePageView.png](http://140.109.160.129/iis/python/ContentManage/img/ExamplePageView.png)
2.2 TinyMCE 編輯器
Body Text 欄位的內容,可以使用 HTML 或純文字格式來儲存,當使用 HTML 時,一般會搭配視覺編輯器 (Visual Editor) 來進行文字編輯。
Plone 預設的視覺編輯器稱為 TinyMCE,透過圖示按鈕,協助使用者執行文字排版的工作,像是指定標題、指定連結網址、插入圖檔等。
Note
Plone 預設會過濾不當的 HTML 標籤語法,所謂不當的語法,包括會影響版面一致性,或是造成惡意攻擊的標籤,像 <font> 就是一例。如果需要使用 <script> 之類的標籤,最好是在 portal_javascript 裡註冊後,再依照適當的權限設定來執行。
Note
即時編輯內容項目還支援即時編輯 (Inline Editing) 功能,例如,當游標移到標題欄位時,只要按一下,就可以直接載入標題欄位的內容來編輯,不必進入整份文件的編輯畫面。
不過,這項功能在新版 Plone 裡預設並未啟用,可以進入前台管理的 Site 項目,勾選 Enable inline editing 來啟用。
![img/InlineEditing.png](http://140.109.160.129/iis/python/ContentManage/img/InlineEditing.png)
2.3 新增新聞
![img/AddNewsItem.png](http://140.109.160.129/iis/python/ContentManage/img/AddNewsItem.png)
2.4 新增事件
![img/Event-Editing.png](http://140.109.160.129/iis/python/ContentManage/img/Event-Editing.png)