完整目錄

操作手冊

「跨領域區域研究資料集」(下稱「本平台」)為提供研究資料寄放、保存、管理與瀏覽之公眾系統。此系統以開放源碼軟體套件 CKAN 開發,並增添多項新功能。本平台網址位於 https://data.depositar.io

本操作手冊說明如何使用本平台的介面上傳、管理、發布及搜尋資料。CKAN 同時提供功能豐富的 API 介面,讓開發者更易於自行擴充功能或是連結至其他資訊系統。相關 API 資訊可參考 CKAN 的 API 文件

本平台的使用者介面之中有部份功能僅限於系統管理員操作,相關說明請參考 CKAN 的系統管理者文件

備註

本手冊翻譯與修改自 Open Knowledge International 以及貢獻者所編寫之 User guide — CKAN 2.6.5 documentation,該作品以 創用CC 姓名標示-相同方式分享 3.0 未本地化 (Creative Commons Attribution-ShareAlike 3.0 Unported) 授權條款釋出。

CKAN 簡介

CKAN 為用來建立開放資料平台的開源軟體套件(類似於內容管理系統 WordPress,但非用於管理頁面與部落格等資訊,而是用來管理「資料」),在 CKAN 平台上可管理與發布資料集。目前 CKAN 已廣為各國家政府、地方政府及研究機構等收集有大量資料集的單位所採用。本平台即是使用 CKAN 並擴增功能建置。

當資料發布於本平台後,任何使用者可透過其提供的資料搜尋功能,搜尋或瀏覽他們所需的資料,並且可以在網頁上直接瀏覽資料的樣貌(包括地圖、縮圖、表格等類型)。

資料集與資源

本平台遵循 CKAN 的運作機制,將資料的發布單元稱之為「資料集」(dataset)。「資料集」顧名思義為資料的集合,舉例而言,資料集可以是一個區域的犯罪統計資料、政府部門的經費收支圖表,或者是由各類型天氣測站所觀測到的溫度數據。當使用者在 CKAN 平台上搜尋資料時,所呈現的搜尋結果即為資料集。

一份資料集包含:

  • 詮釋資料 (metadata):即為資料集的描述。例如:資料集的標題、產製者、發布日期、資料格式、該資料集以何種方式授權使用等相關說明資訊。
  • 資源 (resources):即實際的資料本身。CKAN 平台可以存放任何檔案類型或格式的資料。一份「資源」可以是 CSV 表單、Excel 試算表、XML 檔案、PDF 文件、影像檔、RDF 格式的連結資料等。CKAN 可以將各類型的資源儲存在系統內部,或者儲存資源的連結,且一份資料集可以儲存任意數量的資源。例如,不同的資源可能儲存不同年份的資料,或是相同的資料以不同格式的資源儲存。

使用者,組織及權限

使用者於 CKAN 平台上註冊帳號後,即可登入操作。本平台也是。一般而言,CKAN 平台的資料搜尋功能不需登入即可使用(視該 CKAN 網站之管理員設定),但 CKAN 平台的發布功能:新增資料集、編輯資料集等功能,則需視使用者的權限才可操作。

在 CKAN 平台中,一份資料集通常會歸屬於一個「組織」內。而一個 CKAN 平台內可以建立多個組織。例如:若以 CKAN 建置一個國家政府的資料入口平台,這個平台內的組織即有可能是以不同的政府部門做為區分。而該平台上的各部門可以有各自的作業流程和權限管理,來管理該部門的資料發布。

組織管理員(通常為建立該組織之使用者)可以設定個別的使用者帳號為該組織的成員,並可根據不同的權限需求,配發不同的組織角色權限予對應之使用者帳號。(例如:一般權限、編輯者權限、管理員權限)。組織內所發布的資料集,預設為組織所私有,且僅限組織內的成員可以瀏覽。而組織內資料集欲公開發布時,則需經較高層級之組織管理者的權限來核准。

一般而言,資料集大部分都可以被歸類於由某個特定組織所產生。然而,在 CKAN 的設計上,資料集允許被設定為不隸屬於任何組織底下;同時,該類資料集即可經由任何登入的使用者帳號來編輯,也就是 CKAN 平台提供了類似維基協同編寫 (wiki-like) 的資料集散功能。

備註

本使用手冊涵蓋大部分 CKAN 介面之主要功能,不過根據實務上所架設之 CKAN 平台的設定,部分功能可能略有差異。例如,在一個正式營運的 CKAN 平台上,系統管理員可能關閉一般使用者帳號建立新組織功能的權限。您可於 CKAN 軟體套件開發者所提供的測試平台上測試上述所有的功能;該平台網址:http://demo.ckan.org。本研究計畫亦提供一測試平台供您評估「跨領域區域研究資料集」的所有功能;該平台網址:https://demo.depositar.io

使用本平台

註冊帳號與登入

備註

當您想發布資料於本平台或執行一些本平台所提供的個人化功能時,您必須具有本平台使用者帳號。但搜尋與下載公開資料集僅需訪客身分即可。

備註

本平台並不開放直接註冊,故以下資訊僅供參考。欲建立本平台使用者帳號之使用者,請參考 如何提供資料 文件並提出申請。

提示

本平台另提供一展示用網站供您評估功能。您可於展示用網站自由註冊帳號與測試任何本平台提供之功能。請留意該展示用網站之資料會定期清除。該展示網站的網址:https://demo.depositar.io

請點選頁面上方的「註冊」來建立一組本平台的帳號,並提供下列資訊:

  • 使用者帳號 – 輸入一組使用者帳號,僅限使用文數字、「-」與「_」符號。
  • 全名 – 顯示於您個人頁面上的名稱。
  • 電子郵件 – 電子郵件為私有資訊,不會公開於本平台上。
  • 密碼
_images/register_account.jpg

若您輸入的內容有任何錯誤,本平台將顯示紅色警告訊息提示您進行修正。當輸入的內容皆正確後,點選「建立帳號」功能鈕,本平台將將建立您的使用者帳號並自動進行登入。

資料發布功能

新增資料集

備註

您必須擁有使用者帳號方能新增資料集。欲建立本平台使用者帳號之使用者,請參考 如何提供資料 文件並提出申請。

步驟 1. 透過下列兩種方式可以連結至「新增資料集」頁面:

  1. 點選於頁面上方的「資料集」連結,於接下來顯示的資料搜尋頁面上方即可看見「新增資料集」連結。
  2. 點選頁面上方的「組織」連結,接下來請選擇您所要發布資料集所隸屬的組織,若您的使用者帳號屬於該組織的成員,則您可以點選在資料集搜尋顯示頁面上的「新增資料集」進行發布。

步驟 2. 建立資料集詮釋資料,可包含附錄 資料集層級之詮釋資料項目 之欄位:

_images/add_dataset_1.jpg

備註

上述所介紹的欄位,實務上仍建議至少填寫資料描述與授權欄位。請您需確認「組織」欄位所選擇的組織為正確,因為在後續完成資料發布的過程中,本欄的資訊將無法被修改(需後續使用編輯資料集功能)。

步驟 3. 當您填寫本頁之詮釋資料資訊完畢後,請選取「下一步:新增資料」按鈕。或者您可選擇「取消」按鈕,放棄本頁所編輯之內容。

步驟 4. 平台介面接著將顯示「新增資料」頁面。

_images/add_dataset_2.jpg

本頁面將引導您進行新增一個或多個屬於該筆資料集的「資源」。在「檔案」項目上,您可以選擇上傳一個檔案或是新增該筆檔案的連結。

  • 若您所要新增的資料為線上資源或 API,請在「檔案」項目上點選「連結」鈕,並將線上資源的連結位址填入。
  • 若您所要新增的資料位於本機,請在「檔案」項目上點選「上傳」連結,並選擇欲上傳的資料。

步驟 5. 新增關於「資源」的描述(請參閱附錄 資源層級之詮釋資料項目 ),本平台並不強制要求您輸入這些資訊,但實務上仍建議您填寫。

步驟 6. 若您有其他多筆資源欲新增,請點選「儲存並新增其他項目」按鈕,來新增一筆新的資源。

步驟 7. 若您已完成資源的新增,點選「結束」按鈕,本平台將建立該筆資料集並顯示結果。至此步驟您已成功完成資料集的建立。

您現在應該可以於本平台的搜尋框中,透過輸入資料集的標題、或是其描述欄位內的相關文字來搜尋得到您所建立的資料集。關於搜尋資料的相關參考資訊請參考 查找資料 部分。

本平台補充功能——將資料集加入選定的主題

本平台遵循 CKAN 功能內建「主題」用以將資料集作為初步分群的機制,其與「組織」主要之差別在於,「主題」機制之劃分不具有資料權屬之特性(詳細可參考 建立組織 ),亦即在本平台內一份資料集僅可屬於單一「組織」內,且該組織可以決定該資料集公開與否或組織內成員編輯權限;相較之下,「主題」僅將資料集進行分類,且一個資料集不限定僅屬於單一主題。

本平台參考 ISO19115 詮釋資料標準之主題類別分類,建立下列主題群組:

  • 農業相關類 (Farming):與動物飼養和/或植物種植有關之主題,例如農耕、灌溉、水栽法、農園、畜牧、病蟲害和家畜。
  • 生物生態類 (Biota):與自然環境中植物群和/或動物群有關之主題,例如野生動物、植被、生物科學、生態學、荒漠、海洋生活、溼地、棲息地。
  • 土地邊界類 (Boundaries): 與土地權利描述有關之主題,例如行政邊界界線。
  • 氣候氣象類 (Climatology Meteorology Atmosphere):與大氣的處理過程與現象有關之主題,例如雲、天氣、氣候、大氣條件、氣候改變、降雨量。
  • 經濟活動類 (Economy):與經濟活動和狀態有關的主題,例如生產、勞動、稅收、貿易、工業、觀光和生態旅遊、林業、漁業、商業或補狩業、 探測和資源開發,如礦物、石油或天然氣。
  • 高程資訊類 (Elevation):高於或低於海平面的高程資訊,例如高度、海洋探測、數值高程模型、坡度。
  • 環境活動類 (Environment):與環境資源、保護和保存有關的主題,例如環境汙染、資源浪費、環境衝擊評估、環境監控風險、天然保育區、景觀。
  • 地球科學相關類 (Geoscientific Information):與地球科學有關之主題,例如地球物理學的地物特徵、地質學、 礦產資源、組合科學、地球岩盤的組成起源、地震危機、火山活動、山崩、重力資訊、土壤、永久凍土、水文地質學、侵蝕。
  • 健康衛生類 (Health):與健康、健康服務、人文生態學與環境安全有關之主題,例如疾病與身體不適、影響健康的因素、保健法、藥物濫用、身心健康、健康服務。
  • 地表覆蓋資訊類 (Imagery Base Maps Earth Cover):與底圖有關之主題,例如地表、地形圖、影像、未分類的影像、文字註記。
  • 軍事情報類 (Intelligence Military):與軍事基地、結構、活動有關之主題,例如兵營、訓練場、軍事運輸、情報搜集。
  • 水文資訊類 (Inland Waters):與內陸地區的水特徵物、排水系統和其特性有關之主題,例如河流與冰河、鹽水湖、水資源利用計畫、水壩、水流、水災、水質、水道圖。
  • 位置資訊類 (Location):與位置資訊和服務有關之主題,例如地址、控制網、控制點、郵遞區號及服務。
  • 海洋資訊類 (Oceans):與鹽水水體的特徵物和其特性(包含內陸地區)有關之主題,例如潮汐、受潮汐影響的浪潮、海岸資訊、暗礁。
  • 土地使用與規劃類 (Planning Cadastre):與土地未來之使用資訊有關之主題,例如土地使用圖、都市計畫圖、地籍調查、土地所有權。
  • 社會文化類 (Society):與社會文化特性有關之主題,例如社會福利、人類學、考古學、教育、傳統信仰、禮俗習慣、人口統計資料、娛樂活動、社會影響的評價、犯罪、司法審判、人口普查情報。
  • 人工設施類 (Structure):與人工設施有關之主題,例如建築物、博物館、教堂、工廠、住家、紀念碑、商店、塔樓。
  • 交通資訊類 (Transportation):與運輸有關之主題,例如道路、機場/航線、運輸路線、隧道、航海圖、飛機或船之位置、航圖、鐵路。
  • 公共設施類 (Utilities Communication): 與能源、廢棄物系統和公共通訊服務有關之主題,例如水利發電、地熱發電、太陽能與核能、水質淨化與供給、污水收集處理、電力和天然氣供給、數據交換、長途電信、無線電、通信網路。

將資料集加入相關主題群組前,您必須先完成資料集的完整發布(即完成 新增資料集 內容所述步驟),接著執行下列步驟:

  • 前往欲編輯資料集其所屬頁面(可藉由輸入關鍵字來找到您想修改的資料集)。

  • 在資料集顯示頁面切換至「主題」頁籤。

    _images/addGroup1.jpg
  • 選擇欲加入至該資料集的主題,點選「加入主題」鈕,即可加該主題於資料集內。

    _images/addGroup2.jpg
本平台補充功能——填寫輔助功能介紹
  • 時間資訊

本平台所定義之時間資訊為指資料內容所描述之時間範疇,並非資料產生或完成之日期,因此一個資料集內所描述內容之對應時間段可能為歷史中一模糊區段,無法以日期或時、分、秒精確描述,故在設計上時間資訊相關詮釋資料項目包含:

  • 時間區間捷徑 – 本項目為便於時間資訊之選取,以臺灣過去歷史時期作為候選清單,當使用者直接選擇時間區間捷徑後,預設之起始、結束時間將自動代入。
  • 時間解析度 – 時間解析度為表示資料內容對應時間所能精確描述之程度,依據本平台蒐集資料之特性,候選項目包含:百年、十年、年、月、日,依據不同解析度之選擇,需搭配對應之起始、結束時間內容。
  • 起始、結束時間 – 為資料集之起始、結束時間點,接受的格式為 YYYY(當時間解析度為「年/十年/百年」時)、YYYY-MM(當解析度為「月」時)、YYYY-MM-DD(當解析度為「日」時)。
_images/timeInfo.jpg
  • 空間範圍

本平台所定義之空間範圍為指資料集內容所約略對應之真實世界空間範圍,設計主要考量為用於空間索引,後續可進行空間搜尋操作,其內容須符合 GeoJSON 格式標準,但對一般使用者而言直接產出 GeoJSON 格式內容並不容易,因此在介面上,本平台設計以下兩種方式:

  • 自四至範圍轉換 – 若使用者已具有代表資料集空間範圍之四至經緯度坐標(即東西經度、南北緯度),則可填寫於對應之空間範圍欄位內,填寫完畢後點選「自四至範圍轉換」按鈕,系統將根據四至經緯度坐標自動產生對應之 GeoJSON 內容。
  • 使用圖台新增 – 本平台亦提供地圖介面,讓使用者自行描繪資料集對應之空間範圍,並自動產生描繪範圍之 GeoJSON 內容。
_images/spatialInfo.jpg
  • 使用快捷方式代入帳號資訊

若使用者即為資料集維護權責人,本平台提供一便捷的方式自動代入使用者帳號的個人資訊,點選「使用您的帳號資訊填入維護者與電子郵件」鈕,系統將自動填寫維護者及維護者電子郵件欄位(帳號個人資訊請參考 帳號資訊 內容)。

_images/profileInput.jpg
編輯資料集

您可以編輯您所建立的資料集或是您所屬於的組織內的資料集。若一個資料集不屬於任一組織,則可被任何使用者帳號編修。

  1. 前往欲編輯資料集其所屬頁面(可藉由輸入關鍵字來找到您想修改的資料集)。
  2. 點選頁面右上方的「管理」功能鈕。
  3. 顯示資料集編輯的頁面,在「編輯中繼資料」頁籤中,您可以編輯頁面中任何的欄位內容(如:標題、摘要等)、變更資料集是否為公開。關於欄位的介紹可請參考 新增資料集 部分。
  4. 當您完成編輯後,點選「更新」以儲存您剛才所編輯的內容。
_images/edit_dataset.jpg
新增、刪除及修改資源
  1. 前往欲編輯資料集其所屬頁面(參考上述步驟 1-2)。
  2. 在「資料」頁籤中,您可以進行該資料的編輯,您可以選擇一筆資料進行編輯或刪除,若您想為該筆資料集新增一筆資源,可點選「加入新資源」功能鈕。
  3. 點選一筆資源進行編輯後,您可以修改該筆資源的描述資訊、變更資源的連結或上傳新的檔案(詳細請參考上述 「新增資源」步驟 4-5)。
  4. 當編輯完成後,點選「更新資源」鈕即可完成更新;若您想刪除該筆資源,則點擊「刪除」按鈕。
刪除資料集
  1. 前往欲編輯資料集其所屬頁面(參考上述「編輯資料集」)。
  2. 點選「刪除」按鈕。
  3. 頁面將顯示確認刪除資料集對話框,點選「確定」即可刪除該筆資料集內容(詮釋資料與資源)。

備註

上述「刪除資料集」功能並非真正將資料集自本平台移除,而是將該筆資料集隱藏。因此刪除的資料集將無法透過介面被搜尋或查找得到。但若是於網址列上直接輸入該筆資料集之網址,您仍能看到該筆資料集的資訊(需具對應之權限)。若您需要「完整」自本平台移除該筆資料集,請聯繫系統管理員為您執行。

建立組織

一般而言,每筆資料集都有其所屬的「組織」,而每個組織由不同的成員所組成,組織內的成員可以編輯組織內的資料集或發布新的資料集,而在本平台中,組織管理者可以設定不同權限予不同的組織成員,例如:有些成員僅允許他有瀏覽組織內資料集的權限,特定使用者則具備發布與編輯資料集的權限。每一個組織都有其所屬頁面,使用者可以在組織頁面內查看該組織的資訊並搜尋組織內的資料。因此,本平台的組織機制提供特定單位控管其內部發布政策。

建立組織流程:

  1. 點選頁面上方的「組織」頁籤。
  2. 點選搜尋列下方的「建立組織」功能鈕。
  3. 將顯示建立組織的頁面。
  4. 您必須輸入組織的名稱,您可以選擇是否建立組織描述或為組織加入一張代表圖片。
  5. 點擊「建立組織」按鈕,將建立該組織並顯示該組織的首頁內容(該組織內目前應無任何資料集)。
_images/create_organization.jpg

您現在可以設定組織內其他成員之使用權限,請參考下段 管理組織 內容;您也可以建立組織內的資料集,請參考上述 新增資料集 內容。

備註

根據管理員的設定,並非每個帳號都有建立新組織的權限,當您想建立新組織但不具權限時,您可以聯繫系統管理員。

管理組織

當您建立一個新組織時,本平台會自動將您設定為該組織之「管理者」。在組織首頁內您可以看到搜尋框上方之「管理」功能鍵,當您點選該功能鍵即可進入組織管理介面。組織管理介面包含下列兩頁籤功能:

  • 資訊 – 本頁籤內您可以編輯組織的資訊(名稱、描述、組織圖片)。
  • 成員 – 本頁籤內您可以新增、移除組織成員或變更組織成員之權限(您需要事先知道欲加入組織成員者於本平台之使用者帳號)。
_images/manage_organization.jpg

本平台包含下列三種組織權限:

  • 成員 – 可以瀏覽組織內之非公開資料集。
  • 編輯者 – 可以編輯或新增組織內資料集。
  • 管理者 – 可以新增、刪除組織成員,或變更成員權限。

查找資料

全站搜尋

您可以在搜尋框內輸入任意的關鍵字組合來找尋資料,(如:健康、交通),本平台將回傳符合搜尋關鍵字條件的資料集於搜尋結果頁面,您可以再進一步:

  • 瀏覽更多頁的搜尋結果。
  • 以不同的關鍵字再進行搜尋。
  • 以特定的「標籤」、「格式」等位於頁面左側欄位的過濾條件來進一步約制搜尋的結果。

當您所回傳的搜尋結果數目很龐大時,過濾條件的功能將會非常實用,您可以結合多重的過濾條件,並動態地新增與移除過濾條件,當您重新輸入關鍵字時,這些過濾條件也仍會被保留。

_images/search_the_site.jpg
本平台補充功能——時間搜尋功能介紹

本平台已擴充時間搜尋功能,您可以設定感興趣資料之時間區間,當您進到資料集搜尋頁面時,時間搜尋條件設定位於頁面左側欄位處。

本平台提供兩種時間搜尋條件設定方式:

  1. 以拖拉方式設定搜尋時間軸。
  2. 選擇預設感興趣的時間區間:本系統預設台灣過去歷史時段區間,您可以直接選擇感興趣之歷史區間。
_images/time_search.jpg
本平台補充功能——空間搜尋功能介紹

本平台擴充時間搜尋功能,您可以設定感興趣資料之時間區間,當您進到資料集搜尋頁面時,空間搜尋條件設定位於頁面左側欄位處。

本功能為針對資料集詮釋資料中之空間資訊欄位(請參閱 本平台補充功能——填寫輔助功能介紹 中「空間範圍」內容),若詮釋資料中該欄位無記錄,則可能無法由此功能找尋得該資料集。

其操作步驟如下:

  1. 點選地圖視窗右上方之畫筆圖示。

    _images/spatial_search1.jpg
  2. 點擊後,地圖將展開於搜尋頁面正上方,此時您可於地圖上畫設感興趣之空間範圍。

    _images/spatial_search2.jpg
  3. 當您劃設範圍完成後,地圖將縮回搜尋頁面左側欄位,系統並自動進行過濾符合條件之資料集。

    _images/spatial_search3.jpg
  4. 若您想重新設定空間查詢條件,則再重新執行上述步驟 1-2。

搜尋組織內的資料集

若您想找尋特定組織內的資料集,您可以在該組織的頁面內進行搜尋:

  1. 點選頁面上方「組織」頁籤。
  2. 點選您所欲搜尋的組織項目,頁面將顯示該組織的首頁。
  3. 輸入您所欲搜尋的關鍵字於組織頁面上方的搜尋框。

系統將回傳於該組織內符合您所設定搜尋條件的資料集。

如果您對於特定組織所發布的資料內容感興趣,您可以在該組織的首頁左方欄處,點選「跟隨」功能鍵,您將可以收到該組織資料集變動的通知。詳細內容請參考 新聞消息來源 (您必須具有使用者帳號才能執行此功能)。

探索資料集

當您找到您所感興趣的資料集後,您可以點選該筆資料集進一步了解內容,您可以看到:

  • 該筆資料集的名稱、描述以及其他相關詮釋資料資訊。
  • 該筆資料集所包含的資源與其對應連結。
_images/exploring_datasets.jpg

每筆資源的連結將會導向每個資源的描述頁面,或者也可以直接下載該筆資源。CKAN 另一個強大的功能為資源的「預覽」功能,許多格式的資源可以直接在資源頁面上預覽,如 CSV、Execel 等類型的資源可以直接顯示表格在網頁上;透過額外的設定,也能直接在頁面上瀏覽 PDF、影像與網頁。

資料集顯示頁面另外包含兩個頁籤功能:

  • 動態牆 – 您可以瀏覽到該筆資料集歷史的修改記錄。
  • 關於 – 您可以看到與該筆資料集有關之連結,您也可以自行新增有相關的連結。

若您對特定資料集感興趣,您可以點選資料集頁面左欄處的「跟隨」功能鈕,訂閱該筆資料集。詳細內容請參考 新聞消息來源 (您必須具有使用者帳號才能執行此功能)。

本平台補充功能——資料預覽功能介紹

本平台的「資源」頁面的一項強大功能為「資料預覽」介面,您可以透過介面預覽資料的內容,來評估資料是否符合您的需求,其操作步驟為:

  1. 前往欲編輯資料集其所屬頁面(可藉由輸入關鍵字來找到您想修改的資料集)。

  2. 在「資料與資源」清單內,於欲預覽資源的項目上,點選「探索」鈕內之「預覽」功能鈕。

    _images/data_preview.jpg
  3. 在資源顯示頁面您即可瀏覽資料集內容。

    _images/data_preview2.jpg

本平台預設會依據資源詮釋資料的「格式」項目設定資料預覽(參閱 新增資料集 步驟 5 內容),下列為本平台支援之預覽格式:

  • 文字類:txt, html, xml, json, geojson。
  • 影像類:png, jpg, jpeg, gif。
  • 表格類:csv, xls(x)。
  • 空間資料:WMTS, WMS, Shapefile(Shapefile 請標記為「shp」,否則將無法預覽)。
  • 其他:PDF, 一般網頁連結。

當您所設定之資源格式類型符合上述任一項目時,本平台即會自動呈現相應之預覽介面。

此外,單一資源可以設定多種預覽呈現方式,例如原始資料格式若為 CSV 格式,則本平台預設以表格類的方式提供資料預覽介面,但實際資料內容若有包含空間資訊,資料提供者可再另行建立空間預覽的介面,如下二圖所示:

_images/data_preview3.jpg _images/data_preview4.jpg

欲新增預覽介面於特定資源頁面之步驟如下:

  1. 前往欲新增預覽介面之資源頁面。

  2. 點選「管理」功能鈕(您需具有編輯該資料集的權限才會顯示此功能鈕)。

    _images/new_preview.jpg
  3. 在資源編輯頁面內切換至「檢視」頁籤,並於「新增檢視」下拉選單內,選擇適合該資源的預覽類型後進行設定:

    • Data Explorer:可同時提供表格、統計圖、地圖介面三種預覽方式,可於設定內選擇過濾的條件(如某欄位的值須大於門檻值才會顯示)。
    • Grid:提供表格預覽介面,可於設定內選擇過濾的條件。
    • Map:提供地圖預覽介面,您須於設定內指定代表經緯度的欄位,亦可設定過濾條件。
    • 圖片:您可新增一張外部圖片(須為連結)來做為資源預覽圖。
    • 網站:您可新增一個網站連結來做為預覽介面。
    _images/new_preview2.jpg
  4. 完成預覽模式設定後按「新增」即完成新增預覽(您也可以使用「預覽」按鈕來事先查看完成發布後的情況)。

資料 API

對於結構化之資源內容,如 CSV、Excel 檔案等,本平台會於其上傳後自動將結構化資源匯入後端資料庫,並產生每一個資源對應的資料存取介面(API),開發者即可透過使用此資料 API 來開發應用服務或系統。取得結構化資源 API 的方式為:

  1. 前往該資源頁面。

  2. 點選頁面「資料 API」功能鈕,頁面將顯示該筆資源的 API 與操作方式。

    _images/data_api.jpg _images/data_api2.jpg
  3. 部分 API 功能會需要使用者帳號的 API Key 作為認證,取得方式為至個人資訊頁面,API Key 將顯示於頁面左欄下方處。

    _images/data_api3.jpg

個人化設定

本平台提供部分個人化設定功能,您可以設定搜尋資料或發布資料時的喜好(以下功能需先登入帳號後方能執行)。

新聞消息來源

本平台頁面最上方為固定的使用者帳號功能列,請點選儀表版圖示(位於您的帳號名稱右方),儀錶板頁面將顯示您所訂閱的資料集變動消息、您所加入或訂閱組織的資料集變動情況、或您於本平台上操作資料集的歷史記錄。儀錶板上的數字顯示為自您上回查看儀表板後所新增的新聞消息。此外,除了組織與資料集,您也可以訂閱特定的使用者帳號。

_images/manage_news_feed.jpg

若您想停止追蹤特定資料集(或組織),您可以至該筆資料集的頁面點選「取消追蹤」。

帳號資訊

您可以於帳號資訊頁面變更您在本平台的個人資訊設定。您可於頁面最上方的使用者帳號功能列,點選齒輪圖示進入帳號資訊頁面。

_images/manage_user_profile.jpg

您可以於使用者設定頁面修改下列資訊:

  • 帳號
  • 使用者名稱
  • 電子郵件(本資訊為非公開性)
  • 您的個人簡介
  • 密碼

備註

如果您修改您的使用者帳號,本平台將會將您目前的帳號登出,您必須以新的帳號進行登入。

系統限制

目前本平台之系統限制包含以下:

  • 檔案上傳大小限制:約容許 1GB 內之檔案上傳。
  • 預覽檔案限制:一般檔案可預覽的大小約 20MB,PDF 檔案可允許較大檔案容量預覽(數十 MB)。
  • 檔案名稱長度限制:為 3 至 100 字元(包含附檔名,中文以字為單位,英文以字母為單位)。

如何提供資料

註冊帳號

本平台(跨領域區域研究資料集)不開放直接註冊,若您或您的組織希望上傳資料至本平台,請發送一電子郵件至 data.contact AT depositar.io(AT 請代換為 @),主旨為「跨領域區域研究資料集:組織申請」,並包含以下內容:

提示

本平台另提供一展示用網站(https://demo.depositar.io)供您評估功能。您可於展示用網站自由註冊帳號與測試任何「跨領域區域研究資料集」提供之功能。請留意該展示用網站之資料會定期清除。

  • 您想要的使用者帳號 – 僅限使用文數字、「–」與「_」符號。
  • 全名 – 顯示於您個人頁面上的名稱。
  • 電子郵件 – 電子郵件為私有資訊,不會公開於本平台上。
  • 您想要的組織名稱 – 您與您指定的成員將可於此組織內新增、編輯或刪除資料集(視權限而定)。
  • 您想要的組織網址 – 僅限使用文數字、「–」與「_」符號。建立的組織將位於:https://data.depositar.io/organization/[您指定的組織網址]

備註

為便於管理,無論個人或組織,我們均會為您開設一個新的「組織」供您上傳資料集。您可以參考 既有組織 填寫您的組織資訊。

我們收到您的電子郵件後,會於 72 小時內以電子郵件方式回覆您開設結果,如下圖。同時您亦為新建組織之當然管理者。

_images/invite_user_email.png

請依據電子郵件之指引修改您的密碼。之後您便可至您的組織頁面:https://data.depositar.io/organization/[您指定的組織網址],點選上方的「新增資料集」按鈕,以開始新增資料集。

備註

關於資料集管理功能,詳情請參考操作手冊 新增資料集 小節之說明。

邀請組織成員(共同協作者)

若您需要與他人共同協作編修資料集,可由您的組織頁面右上的「管理」按鈕進入組織管理頁面,並點選「成員」頁籤進入成員管理頁面,如下圖所示:

_images/invite_user.png

您可於「新使用者」欄位填寫欲加入組織的使用者之電子信箱,設定其於組織之角色,並按下右下「新增成員」按鈕後,系統即會自動送出邀請信件予該使用者(內容類似上述組織建立通知信件),在其設定密碼後即加入您的組織。

備註

關於成員權限與其他組織管理功能,詳情請參考操作手冊 管理組織 小節之說明。

維護手冊

備註

本手冊翻譯與修改自 Open Knowledge International 以及貢獻者所編寫之 Maintainer’s guide — CKAN 2.6.5 documentation,該作品以 創用CC 姓名標示-相同方式分享 3.0 未本地化 (Creative Commons Attribution-ShareAlike 3.0 Unported) 授權條款釋出。

安裝 CKAN

目前本平台係以原始碼方式安裝 CKAN。

詳見 自原始碼安裝佈署至伺服器


自原始碼安裝

本節將描述如何自原始碼安裝本平台(跨領域區域研究資料集)使用之 CKAN 軟體。示範系統為 Ubuntu 16.04。

1. 安裝必須套件
sudo apt-get install build-essential libxslt1-dev libxml2-dev python-dev postgresql libpq-dev python-pip python-virtualenv git-core openjdk-8-jdk
2. 安裝 CKAN 於 Python 虛擬環境
  1. 新增一個 Python 虛擬環境(virtualenv)供 CKAN 使用,並進入該虛擬環境

    sudo mkdir -p /usr/lib/ckan/default
    sudo chown `whoami` /usr/lib/ckan/default
    virtualenv --no-site-packages /usr/lib/ckan/default
    . /usr/lib/ckan/default/bin/activate
    

    重要

    上述指令中的最後一個用以啟動虛擬環境。在剩餘安裝步驟中需維持此虛擬環境於執行狀態,否則安裝作業可能會失敗。當虛擬環境執行時,命令提示字元(shell prompt)會有類似以下前綴:

    (default) $ _
    

    若您於登出後再次登入,將會離開目前執行中的虛擬環境。您可隨時執行以下指令以返回虛擬環境:

    . /usr/lib/ckan/default/bin/activate
    
  2. 安裝 CKAN 於虛擬環境

    重要

    執行以下指令時,請確定您位於虛擬環境根目錄:

    cd /usr/lib/ckan/default/
    

    安裝 setuptools:

    pip install setuptools==36.1
    
  3. 安裝 CKAN 與本平台客製套件

    pip install -e 'git+https://github.com/depositar-io/ckanext-data-depositario.git#egg=ckanext-data-depositario'
    
  4. 安裝 CKAN 所需 Python 套件

    pip install -r /usr/lib/ckan/default/src/ckan/requirements.txt
    
  5. 安裝本平台客製套件所需 Python 套件

    pip install -r /usr/lib/ckan/default/src/ckanext-data-depositario/requirements.txt
    
  6. 安裝其他所需 Python 套件

    pip install -r /usr/lib/ckan/default/src/ckanext-spatial/pip-requirements.txt
    pip install -r /usr/lib/ckan/default/src/ckanext-scheming/requirements.txt
    
3. 安裝 DataPusher 於 Python 虛擬環境

備註

DataPusher 是一個 CKAN 的擴充套件,當使用者新增結構資料(如 CSV 或 XLS 檔案,無論為上傳至本機的檔案或僅有連結)至 CKAN 時,DataPusher 會自動上傳資料內容至 CKAN 的 DataStore 資料庫(關於 DataStore 請見下節的說明),以提供 資料 API 等功能。

  1. 新增一個 Python 虛擬環境供 DataPusher 使用,並進入該虛擬環境

    sudo mkdir -p /usr/lib/ckan/datapusher
    sudo chown `whoami` /usr/lib/ckan/datapusher
    virtualenv --no-site-packages /usr/lib/ckan/datapusher
    . /usr/lib/ckan/datapusher/bin/activate
    
  2. 安裝 DataPusher 於虛擬環境

    重要

    執行以下指令時,請確定您位於虛擬環境根目錄:

    cd /usr/lib/ckan/datapusher/
    

    安裝 DataPusher:

    pip install -e 'git+https://github.com/ckan/datapusher.git#egg=datapusher'
    
  3. 安裝 DataPusher 所需 Python 套件

    pip install -r /usr/lib/ckan/datapusher/src/datapusher/requirements.txt
    
4. 建立 FileStore 目錄

備註

CKAN 的 FileStore 功能提供使用者上傳本機檔案作為資源,詳細請參考 使用手冊 的說明。

sudo mkdir -p /var/lib/ckan/default
sudo chown `whoami` /var/lib/ckan/default
sudo chmod u+rwx /var/lib/ckan/default
5. 設定資料庫
  1. 新增 CKAN 使用之 PostgreSQL 使用者

    sudo -u postgres createuser -S -D -R -P ckan_default
    
  2. 新增 CKAN 使用之資料庫

    sudo -u postgres createdb -O ckan_default ckan_default -E utf-8
    
  3. 安裝 PostGIS

    sudo apt-get install postgresql-9.5-postgis-2.2 python-dev libxml2-dev libxslt1-dev libgeos-c1v5
    sudo -u postgres psql -d ckan_default -f /usr/share/postgresql/9.5/contrib/postgis-2.2/postgis.sql
    sudo -u postgres psql -d ckan_default -f /usr/share/postgresql/9.5/contrib/postgis-2.2/spatial_ref_sys.sql
    sudo -u postgres psql -d ckan_default -c 'ALTER VIEW geometry_columns OWNER TO ckan_default;'
    sudo -u postgres psql -d ckan_default -c 'ALTER TABLE spatial_ref_sys OWNER TO ckan_default;'
    
  4. 本平台使用 CKAN 之 DataStore 功能,故需要建立相關之資料庫與使用者

    備註

    DataStore 是一個內建於 CKAN 的功能,透過一獨立資料庫儲存上傳至 CKAN 之結構資料內容(CSV 或 XLS 檔案,無論為上傳至本機的檔案或僅有連結)。

    sudo -u postgres createuser -S -D -R -P -l datastore_default
    sudo -u postgres createdb -O ckan_default datastore_default -E utf-8
    
  5. (供本平台管理員資訊)自已備份資料庫還原

    還原資料庫指令如下

    gunzip -c main_db.sql.gz | sudo -u postgres psql ckan_default
    gunzip -c datastore_db.sql.gz | sudo -u postgres psql datastore_default
    
6. 建立與修改 CKAN 設定檔
  1. 新增放置 CKAN 設定檔之目錄

    sudo mkdir -p /etc/ckan/default
    sudo chown -R `whoami` /etc/ckan/
    
  2. 透過 paster 新增範例設定檔

    重要

    (供本平台管理員資訊)請忽略此處關於 CKAN 設定檔之相關說明,直接使用備份之 configs.tar.gz 壓縮檔內之 production.ini 檔案,以下提及設定檔時亦請忽略。

    重要

    執行任何 paster 指令時,請確認是在 CKAN 虛擬環境下。您可隨時執行以下指令以返回虛擬環境:

    . /usr/lib/ckan/default/bin/activate
    
    paster make-config ckan /etc/ckan/default/development.ini
    
  3. 修改前面新增的 development.ini 檔案中對應之設定如下

    備註

    • 以 # 開頭之文字為註解,可視需求刪除。
    • 此僅為使本系統正常運作之最小需求設定。
    ## Database Settings
    ## CKAN 資料庫連線設定,請依照 5. 設定資料庫 所新增的資料庫設定
    ## pass 請填寫 CKAN 資料庫密碼
    sqlalchemy.url = postgresql://ckan_default:pass@localhost/ckan_default
    ## DataStore 資料庫連線設定,請依照 5. 設定資料庫 所新增的資料庫設定
    ## pass 請填寫 CKAN 資料庫密碼
    ckan.datastore.write_url = postgresql://ckan_default:pass@localhost/datastore_default
    ## pass 請填寫 DataStore 資料庫密碼
    ckan.datastore.read_url = postgresql://datastore_default:pass@localhost/datastore_default
    
    ## Site Settings
    ckan.site_url = http://127.0.0.1:5000
    
    ## Plugins Settings
    ckan.plugins = data_depositario stats datastore datapusher
                   resource_proxy recline_view text_view image_view
                   webpage_view recline_grid_view recline_map_view
                   pdf_view pages spatial_metadata spatial_query
                   geo_view geojson_view wmts_view shp_view
                   scheming_datasets repeating
    
    ## Front-End Settings
    licenses_group_url = file:///usr/lib/ckan/data_depositario/src/ckanext-data-depositario/ckanext/data_depositario/public/license_list.json
    
    ## Storage Settings
    ckan.storage_path = /var/lib/ckan/default
    
    ## Datapusher Settings
    ckan.datapusher.url = http://0.0.0.0:8800/
    
    ## Schema Settings
    ## 需自行新增
    scheming.presets = ckanext.scheming:presets.json
                       ckanext.repeating:presets.json
                       ckanext.data_depositario:presets.json
    scheming.dataset_schemas = ckanext.data_depositario:scheming.json
    
    ## Spatial Settings
    ## 需自行新增
    ckanext.spatial.search_backend = solr-spatial-field
    
    ## ckanext-data-depositario Settings
    ## 需自行新增
    ## GMAP_AKI_KEY請填入申請之 Google Maps API key
    ckanext.data_depositario.gmap.api_key = GMAP_AKI_KEY
    
7. 安裝 Solr(含中文與空間搜尋支援)

備註

本部分參考 DigitalOcean™ Inc. 所編寫之 How To Install Solr 5.2.1 on Ubuntu 14.04 ,該作品以 創用 CC 姓名標示-非商業性-相同方式分享 4.0 國際 授權釋出。

  1. 下載並解壓縮 Solr

    cd ~
    wget http://archive.apache.org/dist/lucene/solr/5.5.5/solr-5.5.5.tgz
    tar xzf solr-5.5.5.tgz solr-5.5.5/bin/install_solr_service.sh --strip-components=2
    
  2. 執行 Solr 安裝腳本

    sudo bash ./install_solr_service.sh solr-5.5.5.tgz
    
  3. 建立供 CKAN 使用之Solr configset

    sudo -u solr mkdir -p /var/solr/data/configsets/ckan/conf
    sudo ln -s /usr/lib/ckan/default/src/ckanext-data-depositario/solr/schema.xml /var/solr/data/configsets/ckan/conf/schema.xml
    sudo -u solr cp /opt/solr/server/solr/configsets/basic_configs/conf/solrconfig.xml /var/solr/data/configsets/ckan/conf/.
    sudo -u solr touch /var/solr/data/configsets/ckan/conf/protwords.txt
    sudo -u solr touch /var/solr/data/configsets/ckan/conf/synonyms.txt
    
  4. 下載中文斷詞函式庫 mmesg4j ,並複製 mmseg4j-core-*.jarmmseg4j-solr-*.jar 至 Solr 目錄(/opt/solr/server/solr-webapp/webapp/WEB-INF/lib)

    sudo cp mmseg4j-*.jar /opt/solr/server/solr-webapp/webapp/WEB-INF/lib/.
    
  5. 下載空間搜尋函式庫 JTS 1.13 或以上版本並複製至 Solr 目錄

    wget -O jts-1.13.jar https://search.maven.org/remotecontent?filepath=com/vividsolutions/jts/1.13/jts-1.13.jar
    sudo cp jts-1.13.jar /opt/solr/server/solr-webapp/webapp/WEB-INF/lib/.
    
  6. 重新啟動 Solr

    sudo service solr restart
    
  7. 在瀏覽器輸入以下連結,以建立供 CKAN 使用之 Solr Core(此處命名為 ckan)

    http://127.0.0.1:8983/solr/admin/cores?action=CREATE&name=ckan&configSet=ckan

  8. 打開瀏覽器,前往 http://127.0.0.1:8983/solr/#/ckan ,若能看到畫面則代表安裝完成

  9. 修改 /etc/ckan/default/development.ini,指定 Solr 連線位址

    solr_url = http://127.0.0.1:8983/solr/ckan
    
8. 初始化資料庫

重要

(供本平台管理員資訊)請忽略此步驟。

  1. 透過 paster 指令初始化 CKAN 資料庫

    paster --plugin=ckan db init -c /etc/ckan/default/development.ini
    
  2. 如果一切正常,則會看到此訊息:Initialising DB: SUCCESS

  3. DataStore 資料庫權限設定

    paster --plugin=ckan datastore set-permissions -c /etc/ckan/default/development.ini | sudo -u postgres psql --set ON_ERROR_STOP=1
    
10. 新增 CKAN 系統管理者

重要

(供本平台管理員資訊)請忽略此步驟。

透過 paster 指令新增 CKAN 系統管理者

paster --plugin=ckan sysadmin add admin -c /etc/ckan/default/development.ini

備註

admin 請代換為您需要的使用者名稱,並依照程式提示設定密碼。

11. 在開發環境下執行
  1. 執行 DataPusher

    . /usr/lib/ckan/datapusher/bin/activate
    JOB_CONFIG='/usr/lib/ckan/datapusher/src/datapusher/deployment/datapusher_settings.py' python /usr/lib/ckan/datapusher/src/datapusher/wsgi.py
    
  2. 開啟另一終端機視窗,並透過 paster 指令啟動新安裝的 CKAN 網站

    . /usr/lib/ckan/default/bin/activate
    paster serve /etc/ckan/default/development.ini
    
  3. 打開瀏覽器,前往 http://127.0.0.1:5000/ ,若能看到網站畫面即表示安裝完成。

佈署至伺服器

由於 CKAN 使用 pylons 開發,只要使用任何支援 WSGI 標準的網頁伺服器(及相關套件)即可佈署 CKAN。以下示範以 nginx 與 Gunicorn 進行部署。

1. 新增 production.ini 設定檔

重要

(供本平台管理員資訊)請忽略此步驟,直接使用備份之 production.ini 設定檔。

cp /etc/ckan/default/development.ini /etc/ckan/default/production.ini
2. 修改 production.ini

重要

(供本平台管理員資訊)請忽略此步驟。

開啟 production.ini,並修改 [server:main] 與 [app:main] 的相關設定如下

[server:main]
#use = egg:Paste#http
#host = 0.0.0.0
#port = 5000
use = egg:gunicorn#main
bind = unix:/var/run/gunicorn/ckan_socket.sock
preload = true
## CKAN 執行過程若有錯誤將輸出於此檔案
errorlog = /etc/ckan/default/ckan.log
loglevel = warning
## USER 為目錄 /etc/ckan/default 擁有者
user = USER
group = www-data
umask = 0113

[app:main]
...
## Site Settings

ckan.site_url = http://127.0.0.1
3. 安裝 Gunicorn

在虛擬環境下安裝 Gunicorn

. /usr/lib/ckan/default/bin/activate
pip install gunicorn

. /usr/lib/ckan/datapusher/bin/activate
pip install gunicorn
4. 設定開機自動執行 CKAN
  1. 建立 Systemd 服務

    sudo vi /etc/systemd/system/ckan.service
    
  2. 在開啟的 vi 編輯器中,輸入以下內容

    [Unit]
    Description=Gunicorn instance to serve CKAN
    After=network.target
    
    [Service]
    WorkingDirectory=/usr/lib/ckan/default/src/ckan
    RuntimeDirectory=gunicorn
    ExecStart=/usr/lib/ckan/default/bin/gunicorn --paste /etc/ckan/default/production.ini
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/bin/kill -s TERM $MAINPID
    StandardError=syslog
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    
  3. 啟用此 Systemd 服務

    sudo systemctl enable ckan
    
  4. 之後便可使用以下指令啟動網站

    sudo service ckan start
    
  5. 你可以使用以下指令確認網站是否正常運作

    sudo service ckan status
    

    你應該可以看到類似下面的輸出

    ● ckan.service - Gunicorn instance to serve CKAN
       Loaded: loaded (/etc/systemd/system/ckan.service; enabled; vendor preset: enabled)
       Active: active (running) since 四 2017-12-14 14:36:37 CST; 2s ago
      Process: 20152 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS)
     Main PID: 20191 (gunicorn)
        Tasks: 2
       Memory: 88.0M
          CPU: 1.596s
       CGroup: /system.slice/ckan.service
               ├─20191 /usr/lib/ckan/default/bin/python2 /usr/lib/ckan/default/bin/gunicorn --paste /etc/ckan/default/production.ini
               └─20198 /usr/lib/ckan/default/bin/python2 /usr/lib/ckan/default/bin/gunicorn --paste /etc/ckan/default/production.ini
    
  6. 你可以使用以下指令停止網站

    sudo service ckan stop
    
5. 設定開機自動執行 DataPusher

備註

DataPusher 是一個 CKAN 的擴充套件,當使用者新增結構資料(如 CSV 或 XLS 檔案,無論為上傳至本機的檔案或僅有連結)至 CKAN 時,DataPusher 會自動上傳資料內容至 CKAN 的 DataStore 資料庫,以提供 資料 API 等功能。

  1. 建立 Systemd 服務

    sudo vi /etc/init/datapusher.conf
    
  2. 在開啟的 vi 編輯器中,輸入以下內容

    [Unit]
    Description=Gunicorn instance to serve DataPusher
    After=network.target
    
    [Service]
    RuntimeDirectory=gunicorn
    Environment=JOB_CONFIG=/usr/lib/ckan/datapusher/src/datapusher/deployment/datapusher_settings.py
    ExecStart=/usr/lib/ckan/datapusher/bin/gunicorn wsgi:app
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/bin/kill -s TERM $MAINPID
    StandardOutput=null
    StandardError=null
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    
  3. 啟用此 Systemd 服務

    sudo systemctl enable datapusher
    
  4. 之後便可使用以下指令啟動 DataPusher

    sudo service datapusher start
    
  5. 你可以使用以下指令確認 DataPusher 是否正常運作:

    sudo service datapusher status
    

    你應該可以看到類似下面的輸出:

    ● datapusher.service - Gunicorn instance to serve DataPusher
       Loaded: loaded (/etc/systemd/system/datapusher.service; enabled; vendor preset: enabled)
       Active: active (running) since 四 2017-12-14 14:48:44 CST; 2min 44s ago
      Process: 20571 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS)
     Main PID: 20626 (gunicorn)
        Tasks: 2
       Memory: 46.0M
          CPU: 1.790s
       CGroup: /system.slice/datapusher.service
               ├─20626 /usr/lib/ckan/datapusher/bin/python2 /usr/lib/ckan/datapusher/bin/gunicorn wsgi:app
               └─20673 /usr/lib/ckan/datapusher/bin/python2 /usr/lib/ckan/datapusher/bin/gunicorn wsgi:app
    
  6. 你可以使用以下指令停止 DataPusher

    sudo service datapusher stop
    
6. 安裝與設定 nginx 伺服器
  1. 安裝 nginx

    sudo apt-get install nginx
    
  2. 新增 /etc/nginx/sites-available/ckan 檔案,並編輯加入以下設定

    proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=cache:30m max_size=250m;
    
    server {
        listen 80;
        server_name 127.0.0.1;
        client_max_body_size 1000M;
        access_log /var/log/nginx/ckan_access.log;
        error_log /var/log/nginx/ckan_error.log error;
    
        location / {
            try_files $uri @proxy_to_app;
        }
    
        location @proxy_to_app {
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            # enable this if and only if you use HTTPS
            # proxy_set_header X-Forwarded-Proto https;
            proxy_set_header Host $http_host;
            # we don't want nginx trying to do something clever with
            # redirects, we set the Host: header above already.
            proxy_redirect off;
            proxy_pass http://unix:/var/run/gunicorn/ckan_socket.sock;
        }
    }
    
  3. 建立 alies 至 sites-enabled 以啟用剛才新增之設定(並刪除預設設定檔)

    sudo rm /etc/nginx/sites-enabled/default
    sudo ln -s /etc/nginx/sites-available/ckan /etc/nginx/sites-enabled/ckan
    
  4. 重新啟動 nginx

    sudo service nginx restart
    
7. 執行測試

打開瀏覽器,前往 http://127.0.0.1/ ,若能看到頁面,代表您已經完成所有佈署設定。

程式翻譯

字串翻譯方法

本平台客製套件支援多語系翻譯,定義字串翻譯的方式簡述如下。

備註

本節僅簡要記述,詳細作法請直接參考 String internationalization

  1. Jinja2 模板內字串翻譯

    一般為以下形式。單引號內的字元(Hello World!)即可被翻譯為其他語系。

    {% set hello = _('Hello World!') %}
    
  2. Python 程式內字串翻譯

    一般為以下形式。雙引號(或單引號)內的字元(This paragraph is translatable.)即可被翻譯為其他語系。

    my_string = _("This paragraph is translatable.")
    

產生與編譯字串翻譯檔案

在定義好可翻譯字串後,需產生對應語系之翻譯檔案方能生效。

重要

執行以下指令時,請確認您位於 Python 虛擬環境中,否則安裝作業可能會失敗。當虛擬環境執行時,命令提示字元(shell prompt)會有類似以下前綴:

(default) $ _

您可隨時執行以下指令以返回虛擬環境:

. /usr/lib/ckan/default/bin/activate

重要

執行以下指令時,請確定您位於客製套件根目錄:

cd /usr/lib/ckan/default/src/ckanext-data-depositario
  1. 擷取所有待翻譯字串

    python setup.py extract_messages
    
  2. 建立個別語系待翻譯字串

    備註

    以下均以因台灣繁體中文為例說明。

    另因本語系已存在,故使用 update_catalog 參數以保留已翻譯字串。若欲新增語系,請改為 init_catalog。

    python setup.py update_catalog -l zh_TW
    
  3. 開啟以下檔案並開始翻譯字串(msgstr 部分)

    vi ckanext/data_depositario/i18n/zh_TW/LC_MESSAGES/ckanext-data_depositario.po
    
  4. 編譯已翻譯字串

    python setup.py compile_catalog
    
  5. 重新啟動 CKAN 以使更改生效

    備註

    此處假設您已完成 CKAN 部署工作,若尚未完成請先參考 佈署至伺服器 完成部署。

    sudo stop ckan && sudo start ckan
    

撰寫文件

備註

本節僅簡要記述,詳細作法請直接參考 Writing documentation

文件編輯方法

安裝本文件於 Python 虛擬環境

新增一個 Python 虛擬環境(virtualenv)供文件使用,並進入該虛擬環境

sudo apt-get install python-dev libpq-dev python-pip python-virtualenv
virtualenv --no-site-packages pyenv
. pyenv/bin/activate
pip install -e 'git+https://github.com/depositar-io/ckanext-data-depositario.git#egg=ckanext-data-depositario'
cd pyenv/src/ckanext-data-depositario
pip install -r requirements-docs.txt
cd ../ckan
pip install -r requirements.txt
pip install setuptools==36.1
開始編輯

文件原始碼均位於 pyenv/src/ckanext-data-depositario/doc 目錄下,使用 Sphinx 建立,內容以 reStructuredText 語法撰寫,您可以參考以下連結的介紹:

文件產生方法

在發佈文件之前,請先於本機測試生成供發佈用之 HTML 檔案。指令如下

cd ../ckanext-data-depositario
python setup.py build_sphinx

您即可使用瀏覽器開啟 build/sphinx/html/index.html 檔案瀏覽生成之 HTML 檔案。

重要

請務必確保執行此文件生成指令時,無產生任何警告(warnings)。建議將整個 build 目錄移除以再次確認:

rm -rf build; python setup.py build_sphinx

文件發佈方法

本文件使用 ReadTheDocs 服務發佈。您只要完成修改後,利用 git push 指令將 ckanext-data-depositario 推送至 GitHub,數分鐘後 ReadTheDocs 即會自動生成新版文件。

附錄

資料集層級之詮釋資料項目

除了 CKAN 軟體套件預設提供的詮釋資料欄位外,CKAN 亦允許開發者可以視其平台所蒐集資料集之特性,擴充對應之詮釋資料項目。而本平台「跨領域區域研究資料集」依據所蒐集之研究資料集特性,規劃資料集層級之詮釋資料項目,計有「基本資訊」、「描述資訊」與「管理資訊」三大部分。

基本資訊

欄位名稱 說明 必填 M / 選填 O 最多發生次數 資料型別 [1] 校驗(轉換)器/值域定義 [2]
標題 建議以簡單扼要的方式描述,如「台灣各縣市之人口密度」較「人口統計圖表」來的具識別性 O 1 gco:CharacterString if_empty_same_as(name) unicode
網址 [3] 網址為本平台上資料集唯一的識別碼,僅能為英數字及部分符號 M 1 gco:CharacterString not_empty unicode package_name_validator
摘要 記錄關於此資料集的細節內容,或是任何其他使用者可以進一步了解此資料集的資訊 O 1 gco:CharacterString  
資料類型 資料集所屬之類型,依據不同類型將顯示不同詮釋資料填寫項目 M 1 Data_type scheming_required scheming_choices
標籤 [4] 標籤欄位可協助使用者更容易找到該筆資料集,例如您可加上「人口」、「犯罪」等標籤 O N gco:CharacterString ignore_missing tag_string_convert
備註 描述資料集的額外資訊 O 1 gco:CharacterString  
[1]關於個別資料型別的說明請見附錄 資料型別
[2]CKAN 軟體套件具有校驗器 (validator) 機制,用以檢查欄位是否符合規定,故亦可視為值域。另有轉換器(converter),用以轉換欄位值俾符合規定。
[3]網址會在您輸入資料集標題時自動產生。若標題內含有英數字(及部分符號),則產生之網址為該英數字(同時去除所有非英數字之文字);若標題不含英數字,則系統會為您產生一組隨機英數字。您可隨時修改自動產生之網址。
[4]若無法自 Wikidata 尋得合適條目填入「關鍵字」欄位時,始建議使用此「標籤」欄位。

描述資訊

欄位名稱 說明 必填 M / 選填 O 最多發生次數 資料型別 校驗(轉換)器/值域定義
語言 本項目說明資料集內容所使用之語言,如歷史文獻可能為華語、日語、西班牙語系等 O 1 Language_type scheming_required scheming_choices
時間解析度 請參考 時間資訊填寫輔助功能 O 1 Temp_res_type scheming_required scheming_choices
起始時間 請參考 時間資訊填寫輔助功能 O 1 gco:Date ignore_empty temp_res_validator
結束時間 請參考 時間資訊填寫輔助功能 O 1 gco:Date ignore_empty temp_res_validator
空間範圍 請參考 空間範圍填寫輔助功能 O 1 GeoJSON ignore_empty json_validator remove_blank_wrap
空間範圍.X.min 請參考 空間範圍填寫輔助功能 O 1 gco:Decimal ignore_empty long_validator
空間範圍.X.max 請參考 空間範圍填寫輔助功能 O 1 gco:Decimal ignore_empty long_validator
空間範圍.Y.min 請參考 空間範圍填寫輔助功能 O 1 gco:Decimal ignore_empty lat_validator
空間範圍.Y.max 請參考 空間範圍填寫輔助功能 O 1 gco:Decimal ignore_empty lat_validator
關鍵字 [5] [6] 用以描述資料集內容的簡短詞語 O N gco:CharacterString wikidata_keyword
文獻書籍 [7]          
ISBN-13   O 1 gco:CharacterString  
ISSN   O 1 gco:CharacterString  
期刊   O 1 gco:CharacterString  
卷期   O 1 gco:CharacterString  
論文集名稱   O 1 gco:CharacterString  
出版地   O 1 gco:CharacterString  
出版單位   O 1 gco:CharacterString  
出版年   O 1 gco:CharacterString  
書目查詢   O 1 gco:CharacterString  
網址   O 1 gco:CharacterString  
使用史料   O N Hist_material_type scheming_multiple_choice
研究區的聚落名   O 1 gco:CharacterString  
研究區的宗教   O 1 gco:CharacterString  
研究區的家族   O 1 gco:CharacterString  
研究區的埤圳   O 1 gco:CharacterString  
研究區的特殊產業   O 1 gco:CharacterString  
備註   O 1 gco:CharacterString  
圖像 [8]          
掃描原件來源   O 1 gco:CharacterString  
掃描原件尺寸 填寫原件尺寸大小,單位為公分,如 60x72 O 1 gco:CharacterString  
掃描解析度 填寫掃描解析度數值,單位為 DPI,如 300 O 1 gco:Integer ignore_empty is_positive_integer
空間解析度 填寫資料空間解析度數值,以公尺為單位 O 1 gco:CharacterString ignore_empty positive_float_validator
比例尺 填寫資料比例尺之分母 O 1 gco:Integer ignore_empty is_positive_integer
資料處理歷程 以文字描述資料形成所經過之處理過程,建議以各階段或步驟為導向進行填寫 O 1 gco:CharacterString  
[5]本平台之關鍵字來自 Wikidata (維基資料)條目,並支援該平台之多語系名稱,意即無論在中文或英文語系下新增關鍵字,瀏覽時均會根據網站語系設定顯示對應之翻譯。您並可快速自 Wikidata 找尋符合條件之條目作為關鍵字,如下圖所示。
_images/keyword_wikidata.png
[6]當無法自 Wikidata 尋得合適條目作為關鍵字時使用時,請將該關鍵字填寫於「標籤」欄位。
[7]當資料集之「資料類型」欄位為「文獻書籍」類時,系統介面將進一步顯示對應之細節描述項目。
[8]當資料集之「資料類型」欄位為「圖像」類時,系統介面將進一步顯示對應之細節描述項目。

管理資訊

欄位名稱 說明 必填 M / 選填 O 最多發生次數 資料型別 校驗(轉換)器/值域定義
授權 [9] 宣告資料集之使用授權方式,提供後續使用者應用該筆資料之參考 M 1 License_code  
產製者 資料生產者或單位的名稱 M 1 gco:CharacterString  
資料產置時間 資料集檔案產出時間 O 1 gco:Date ignore_empty date_validator
組織 [10] [11] 若您屬於任一組織內之成員,則您可於組織欄位之下拉選單內找到您所屬的組織清單 O 1 gco:CharacterString owner_org_validator unicode
維護者 負責維護資料集檔案之人員或單位 O 1 gco:CharacterString  
維護者的電子郵件 資料權責者(單位)之電子郵件信箱 O 1 gco:CharacterString  
維護者的聯絡電話 資料權責者(單位)之聯絡電話 O 1 gco:CharacterString  
識別碼 資料集位於來源資料庫時所帶有之唯一識別碼 O 1 gco:CharacterString  
[9]若資料集釋出之授權不在候選清單內,請選擇 「Other Licenses」 ,並於「備註」欄位註明授權條款。
[10]若選擇「沒有此組織」選項,此資料集將不屬於任何組織,且將會被強制設定為「公開」資料集。
[11]欄位下方之「只對組織內成員公開」核取方塊(如下圖)被選中時,非屬於選定組織之成員即無法瀏覽該資料集(即「非公開」狀態),反之則對任何使用者公開該資料集。
_images/add_dataset_3.png

資源層級之詮釋資料項目

欄位名稱 說明 必填 M / 選填 O 最多發生次數 資料型別 [1] 校驗(轉換)器/值域定義 [2]
網址 線上資源的連結位址 O 1 gco:CharacterString ignore_missing unicode remove_whitespace
名稱 本筆資源的名稱。資料集內不同的資源應用不同的名稱區別 O 1 gco:CharacterString  
摘要 關於資源的簡短描述 O 1 gco:CharacterString  
編碼 此檔案所使用之編碼系統,如 UTF-8、Big5 等 O 1 Encoding_type scheming_required scheming_choices
座標參考系統 [3] 當您所新增之資源屬於空間資料時,則需另外填寫該空間資料所參考之坐標系統 O 1 gco:Integer ignore_empty is_positive_integer
格式 [4] 資源的檔案格式,例如:CSV [5]、XLS、JSON、PDF 等 O 1 gco:CharacterString if_empty_guess_format ignore_missing clean_format unicode
[1]關於個別資料型別的說明請見附錄 資料型別
[2]CKAN 軟體套件具有校驗器 (validator) 機制,用以檢查欄位是否符合規定,故亦可視為值域。另有轉換器 (converter),用以轉換欄位值俾符合規定。
[3]本平台所採用之記錄方式為 EPSG (歐洲石油測量組織)編碼。
[4]格式填寫內容將會影響本平台所設定的資源預覽的預設畫面。請參考 本平台補充功能——資料預覽功能介紹
[5]comma-separated values

校驗(轉換)器說明

CKAN具有校驗器(validator)機制,用以檢查欄位是否符合規定,故亦可視為值域。另有轉換器(converter),用以轉換欄位值俾符合規定。

內建校驗(轉換)器

ckanext.data_depositario.converters.remove_blank_wrap(value, context)

Remove blank and text wrap in the value.

外部校驗(轉換)器(僅供參考)

if_empty_same_as(name)
若空值則參照「網址」欄位
unicode
必須是unicode字元
not_empty
不能為空值
package_name_validator
不得重複、長度需介於2~100字元(包含2與100)
scheming_required
若欄位為必填則不能為空值(套用not_empty),反之則接受空值(套用ignore_missing)
scheming_choices
必須是空值或給定候選項之一
ignore_missing
若欄位為空值,接受該空值並忽略位於其後之所有校驗器(若欄位非空值,則其後之所有校驗器仍有效)
tag_string_convert
標籤長度須介於1~100字元(包含1與100)、標籤須為unicode文數字或「-」、「_」與「.」符號
ignore_empty
接受空值
wikidata_keyword
(經API上傳資料集時)只接受以Python list格式(如 ["Q1", "Q2"] )或字串形式(如 "Q1, Q2" )呈現之資料
scheming_multiple_choice
(經API上傳資料集時)只接受以Python list格式(如 ["Q1", "Q2"] )或字串形式(如 "Q1, Q2" )呈現之資料。資料值需為給定候選項中之一至多個
is_positive_integer
必須是正整數
owner_org_validator
必須為無指定組織或指定一個已存在之組織
remove_whitespace
去除文字首尾空白
if_empty_guess_format
若欄位為空值,嘗試猜測檔案格式
clean_format
將檔案格式轉為小寫

資料型別

gco:CharacterString [1]
字串(文字)
gco:Date
日期(ISO8601標準)
GeoJSON
GeoJSON格式(參見 http://geojson.org/
gco:Decimal
十進位值
gco:Integer
整數值
Data_type
(參見下表)
統計資料
文獻書籍
圖像 (非空間類)
圖像 (空間類)
向量資料
三維模型
影音資料
Language_type
依據ISO639標準(參見下表)
華語/中文
客家話
閩南語
粵語
文言文
日語
英語
西班牙語
荷蘭語
西拉雅語
葡萄牙語
Temp_res_type
(參見下表)
十年
一百年
Hist_material_type
(參見下表)
清代方志
日治出版品與官方資料
戰後官方資料與鄉鎮志
碑文
報紙
地圖
台灣總督府檔案(公文類纂、府報、調查報告、職員錄、衛生法規)
荷治時期檔案
地方田野收集文獻(族譜、寺廟志、帳冊、契約)
License_code
(參見下表)
授權條款未指定
公眾領域
公眾領域貢獻宣告 1.0
創用 CC 姓名標示 4.0 國際
創用 CC 姓名標示-相同方式分享 4.0 國際
ODC 開放資料庫授權條款 1.0
GNU 自由文檔許可證
(台灣) 政府資料開放授權條款
其他授權
Encoding_type
依據 IANA Character Sets (參見下表)
Big5 (繁體中文大五碼)
UTF-8
ISO-8859-1 (西歐字元)
GB2312 (簡體中文)
GB18030 (簡體中文)
Shift_JIS (日文)
EUC-JP (日文)
[1]gco為 Geographic COmmon extensible markup language 詮釋資料標準

更新日誌

v6.1.1 2018-04-23

  • 新增:操作手冊與維護手冊。

v6.1.0 2018-03-23

  • 新增:網站即時狀態監測(連結位於網站下方)。
  • 改善:修正錯誤的 positive_float_validator 校驗器。
  • 改善:套用更為適當的校驗器至後設資料欄位。
  • 改善:空間範圍填寫輔助圖台新增 LineString 支援。
  • 改善:空間範圍填寫輔助圖台新增圖徵修改與刪除工具。
  • 更新:Leaflet.draw 版本至 0.4.1。
  • 更新:CKAN 核心至 2.6.5。
  • 將 Wikidata 關鍵字功能分離為獨立套件:https://github.com/depositar-io/ckanext-wikidatakeyword
  • 其他程式最佳化與細部介面調整。

v6.0 2017-11-03

  • 新增:「關鍵字」欄位,整合既有「主題關鍵字」與「空間範圍關鍵字」,並採用維基數據 (Wikidata) 作為資料來源。
  • 新增:新增資料集時,若輸入標題無法自動產生網址時 (如全中文標題),將自動產生一組隨機文數字作為網址。
  • 更新:CKAN 核心至 2.6.4。
  • 其他程式最佳化與細部介面調整。

v5.0.x 2017-09-05

  • 改善:簡化後設資料欄位。將資料集層級之後設資料分為「基本資訊」、「描述資訊」與「管理資訊」三大區塊。合併「參考來源」與「所屬子計畫」為一欄位「備註」,並將「編碼」欄位移至資料層級,同時移除部分較少使用之欄位與選項。
  • 改善:使用圖台填寫「空間範圍」欄位時,系統將自動產生空間範圍值與四至座標並鎖定欄位。
  • 改善:「維護者」與「維護者的電子郵件」欄位可帶入登入中的使用者資訊。
  • 改善:將資料集加入任一組織時,可透過核取方塊限制僅對組織內成員公開該資料集。
  • 改善:使用 CKAN 2.5 提供之翻譯功能翻譯客製化部分介面,今後客製化部分與主程式之介面將不再互相干擾。
  • 更新:ckanext-pages 擴充套件版本,並加上中文介面翻譯。
  • 更新:CKAN 核心至 2.6.3。
  • 其他程式最佳化與細部介面調整。