:::

RemoteApp雜記 / Memo About RemoteApp

RemoteApp雜記 / Memo About RemoteApp

2014-08-05_131414

這篇記錄一下最近研究RemoteApp的記事。由於不是很正式的教學,所以格式上比較隨意,請大家見諒。

This article is the memo about RemoteApp research.


為什麼個人要用RemoteApp? / Why I Need RemoteApp?

在講RemoteApp之前,我先講一下什麼樣的情況,個人會須要用到這種方案。

現代人的生活很多時候會跟多臺電腦打交道。以我為例,先不論機房有一堆孩子(伺服器)要顧,我自己在實驗室有一臺桌機、平時在外面移動時則是有一臺筆電,回到宿舍時也還是用那一臺筆電工作。因此我自己就有兩臺電腦在使用。

在這個情景底下,我主要使用的是實驗室效能比較好的桌機,而筆電通常是利用遠端桌面連線回到桌機操作。大部分的檔案也是存放在桌機為主。

Windows的遠端桌面連線是Windows少數幾個偉大的設計之一。在網路頻寬允許的情況下,可以讓你的連線裝置彷彿就像是在遠端操作一樣。

但是實際上,遠端桌面連線因為功能太過龐大,有時候我只是想要使用某個應用程式,像是Photoshop,這時候我還是得連線到整個遠端桌面,然後才能開啟Photoshop操作,說來也是一種麻煩。

這就讓我興起了「我可只連線到遠端其中一個應用程式嗎?」的想法,因此就開始進行RemoteApp的小小研究。

遠端桌面連線的RemoteApp / RemoteApp of Remote Desktop Service

這篇所講的RemoteApp,一開始是指Windows伺服器版本提供的功能。RemoteApp是遠端桌面連線的延伸應用,自從Windows Server 2008 R2之後才能夠使用。RemoteApp的特色在於透過遠端桌面連線的控制,把要顯示的資訊傳送到客戶本地端,由客戶本機端的Windows來負責產生畫面。

實作時是由伺服器端提供RemoteApp連線設定檔.rdp、或是包裝成.msi的安裝檔案,然後交給客戶端去做安裝與配置,例如放在桌面上提供使用者點選。這個RemoteApp連線設定檔本身已經包含了遠端伺服器的連線位置與登入資訊,以及要開啟的應用程式設定。客戶端只要開啟這個連線設定檔.rdp,等待連線,然後就會出現有如本機上運作的RemoteApp。

RemoteApp是伺服器類型的Windows才有提供的功能,但是Windows 7之類的個人電腦也可以作為RemoteApp伺服器。做法是使用RemoteApp Tool

RemoteApp Tool適用於Windows XP SP3、Windows 7、Windows 8,幾乎目前常用的Windows都可以運作。

2014-08-05_134604

RemoteApp Tool不需要安裝,開啟之後就能夠設定要提供連線的應用程式。我自己馬上就建立了一個Line試試看。

image

從Properties裡面可以設定應用程式的執行細節,最主要的是設定應用程式的執行路徑 Path。設定好RemoteApp之後,接著你可以使用Generate RDP file產生.rdp的遠端連線設定檔,再傳送到客戶端來連線。客戶端只要開啟.rdp,就會連線到這臺伺服器,然後開啟Line的應用程式。

雖然設定很簡單,但實際上運作時卻有許多問題。第一個是遠端連線速度不是很通順。開啟RemoteApp的時候,基本上就跟開啟遠端桌面連線一樣,但還要加入開啟應用程式的時間,因此連線時的時間會有不小的延遲。特別是當我們習慣開啟本地端的應用程式之後,再來跟RemoteApp開啟速度相比,就會覺得不甚理想。

然後是我使用Line的時候遇到了不少問題。也許是Line本身用了特殊的框架,導致開啟時不太順暢之外,一使用輸入法就會造成應用程式當機。

此外,這個RemoteApp Tool的另一個問題在於一次只能一個session連線。就跟一般Windows使用遠端桌面連線一樣,RemoteApp連線時就是佔了一個使用名額。當有別人開啟RemoteApp的時候,就算我來到伺服器的本地端,我看到的會是一個需要登入的畫面。而當我登入的時候,別人正在使用的RemoteApp則會被踢出去。

如果這些電腦都只有你個人使用的話,這倒沒什麼問題。但是在企業內希望使用RemoteApp共享安裝軟體的話,這問題就相當致命。由於Windows Server 2008等伺服器版本可以提供同一帳號多重遠端桌面,所以才能夠提供RemoteApp正常使用吧。不過如果Windows 7強制設定單一帳號多重登入的話,那也許也能夠提供一樣的功能也說不定。我稍微找了一下,不同的Windows版本有不同的設定方式:

但是因為RemoteApp感覺還是不太好用,所以我就嘗試找找看有沒有其他的替代方案,然後找到了Winflector

RemoteApp替代方案:Winflector / RemoteApp Alternative Solution: Winflector

2014-08-04_235245

Winflector是一個類似RemoteApp的替代方案。免費版本可以提供兩個客戶端同時連線。

2014-08-05_141446

一開始一樣是先安裝Server版本,安裝完之後要重新開機。然後接著設定應用程式,這些設定類似RemoteApp。再來設定可以登入的使用者的帳號與密碼,這部分跟Windows的帳戶是分開獨立的。另外連接埠要修改掉被佔用的80,改為其他連接埠之後,才能正常連線。

2014-08-05_131414

Winflector並不會產生像是RemoteApp這樣的連線設定檔,客戶端必須開啟Winflector客戶端程式,輸入伺服器端的IP連線資訊,接著就能夠在Applications看到伺服器端提供的應用程式,點選兩下就能夠直接開啟了。

開啟應用程式的速度不僅很快,而且輸入法、剪貼簿、視窗整合等操作都很流暢,彷彿真的就像是在本機端運作的程式一樣。而Winflector的連線也不會佔用遠端桌面連線的名額,不會把本機端使用者踢掉。

只是有幾點要注意的是事情:

  • 應用程式仍然是在遠端伺服器運作,因此檔案存放的「桌面」是伺服器端的「桌面」,而不是客戶端的桌面。如果是RemoteApp的話,會直接開啟網路上的芳鄰來作為檔案交換的途徑,但是Winflector並沒有提供這種功能。
  • 免費的Winfector只能提供兩個連線。

此外,Line開起來會一片空白,還是無法使用。

總而言之,Winfector意外地讓我很滿意,於是我最近會試著在桌機常駐Winfector的服務,讓筆電來連線使用看看。再試試看有沒有什麼問題。


為什麼團隊需要用RemoteApp? / Why Our Team Need RemoteApp?

個人使用的話,Winfector應該就能夠滿足需求了。就算是遠端檔案無法直接儲存在客戶端,也可以利用Dropbox來同步檔案。可是要在團隊裡面使用的話,這樣子的架構還不能算是完整。

為什麼團隊會需要使用RemoteApp?最大的原因仍然是因為軟體授權不足,或是軟體需要在高等級機器上運作,不方便安裝在筆電等效能較差的電腦上。

Citrix的XenApp / Citrix’s XenApp

2014-08-05_150131

現在學校大多是使用Citrix的XenApp方案,這個方案其實也挺不錯的。它類似RemoteApp,但是運作RemoteApp的伺服器是以XenServer建構而成的Windows虛擬機器,而非實體的Windows。在每次要使用XenApp的時候,伺服器端會自動建立一個可以運作應用程式的虛擬機器,提供XenApp連線。然後在關閉XenApp之後把虛擬機器移除掉。因此每次開啟XenApp,看到的都會是預設軟體的樣子,使用者無法自訂軟體。

在檔案傳輸方面,XenApp會在連線時,把使用者本機端的硬碟作為網路上的芳鄰連線過去。使用XenApp開啟檔案時會看到磁碟機有幾個是網路上的硬碟,這才是本機端的硬碟。至於XenApp裡面看到的桌面跟C磁碟機都是虛擬機器本身的裝置,關閉XenApp之後就會消失。

在這樣的架構下,XenApp一樣有連線人數的限制,端看學校購買的授權數量,決定可以同時可以使用的連線人數。另一方面,XenApp的架構也是一個付費方案,所以就不是我的優先選擇。

Linux的X Window / Linux’s X Window

image

說到遠端桌面,大家是不是太專注在Windows上,而忘記了Linux本身就有強大的X Window呢?

其實X Window所提供的X11 Forwarding本身就能達到「只開啟應用程式」的效果。這篇SSH X11 Forwarding介紹的很詳細當然,鳥哥則是對X Window System則有較詳細的介紹鳥哥則是對X Window System則有較詳細的介紹。我也在Ubuntu上運作成功。做法是:

  1. 先在伺服器Ubuntu上安裝SSH:sudo apt-get install –y sshd
  2. 設定好Ubuntu的網路,確認客戶端Windows 7可以連線到Ubuntu
  3. 客戶端Windows 7上安裝Xming,要重開機
  4. 開啟PuTTY,設定連線到Ubuntu,啟用Enable X11 forwarding
    2014-08-05_151611
  5. 登入SSH,進入命令列
  6. 以指令開啟要執行的應用程式,例如gedit
  7. 稍等片刻,客戶端Windows就會出現原本只能執行在Linux上的gedit

image

雖然步驟繁多,但是能在Windows開啟Linux的應用程式這點還是挺令人感到新奇的。不過實際上操作一下,發現問題有幾點:

  • 剪貼簿運作正常,可以在Linux應用程式與Windows應用程式裡面複製貼上
  • 無法使用Windows的輸入法,但可以複製貼上過去
  • 檔案系統依然是Linux上的檔案系統

儘管如此,由於X Window並沒有限制連線數量,只要硬體效能足夠,應該可以提供大量使用者連線操作才是。

在Linux上運作Windows的程式 / Run Windows Application on Linux

如果要走X Window的方式提供遠端應用程式服務,那另一個問題在於,我們平常用的還是Windows的應用程式,而不是Linux的應用程式。

事實上,Linux有許多可以運作Windows應用程式的方法,以下兩個方案是最常見的做法:

  • Wine:GPL開放原始碼軟體
  • CrossOver:付費軟體,有提供限時試用版

這兩種方案都是使用轉換技術,講Windows的架構轉換成可以在Linux執行的環境,以在Linux開啟Windows的應用程式。雖然Wine是開放原始碼的軟體,但是使用上似乎有諸多問題。不同Wine版本、不同的Linux發佈版、不同的Windows應用程式版本之間對應會有許多問題。反觀CrossOver似乎評價就比較正面(也許是因為付費了,稱讚一下也好?)。

如果有這些軟體搭配的話,我在想可能的架構就可以變成:

  • 在Linux伺服器上架設Wine環境
  • 安裝Windows應用程式
  • 客戶端上連線到Linux伺服器,開啟以Wine轉換的Windows應用程式

這樣子理想上就能達到不限人數的遠端應用程式的目標。不過我們還有其他問題還沒解決,一個是輸入法,另一個是檔案傳輸。輸入法的部分,這是另一個世界,我還得去研究看看;但是檔案傳輸的部分則比較簡單,我想可以用SFTP或是ownCloud來解決。

使用SSH交換遠端應用的檔案 / File Sharing with RemoteApp Server By SSH

最簡單的做法是使用SFTP連線到Linux伺服器。也就是說,連線到Linxu伺服器時,我們同時使用了三種服務:

  • SSH command
  • SSH X11 Forwarding
  • SFTP

這三種都是走SSH連線,這樣做最單純。


小結:離實用仍有段距離 / Conclusion: Non-Ideal Solution

總歸上述,目前比較可能可以使用的方案有兩個:

  • Winflector:Windows應用程式支援良好,但是限制人數2人
  • Linux X Windows System:不限制人數,但是Windows應用程式支援堪慮

不論是那一種方案,其實都不甚理想。市面上也有許多付費的VDI應用方案,但我還是希望先能找到以自由軟體發佈的替代方案為主。

再等等看吧。

(more...)

修改XAMPP的登入使用者與登入資訊 / Change XAMPP Security Username & Message

布丁布丁吃布丁

修改XAMPP的登入使用者與登入資訊 / Change XAMPP Security Username & Message

2014-08-04_191405

XAMPP是一個集合Apache、PHP與MySQL等眾多工具的網頁伺服器套裝開放原始碼軟體。XAMPP部分管理功能以Apache的認證鎖定,像是phpMyAdmin、Webalizer網路流量,必須要登入之後才能使用。雖然XAMPP有提供修改密碼的功能,但是卻沒有直接修改登入使用者名稱與登入訊息的功能。因此,以下本文將教你如何修改XAMPP的登入使用者與登入訊息。

XAMPP is a web server which integrated Apache, PHP, MySQL and other tools. XAMPP use Apache to implement server’s security. This article show you how to change the security username and message of XAMPP.


XAMPP網頁的登入畫面 / Login XAMPP Web

安裝好XAMPP之後,你可以在本機端用以下網址開啟XAMPP的管理畫面:

http://localhost/xampp

而這時候XAMPP會跳出一個登入對話視窗,如下:

Authentication-for-directory - 複製

(圖片來自於:XAMPP for Linux in Ubuntu Gutsy – Security Setting,我加上了數字編號)

上面這張登入視窗是使用Internet Explorer,使用Google Chrome或Firefox會有點不同,但主要資訊倒是不會改變。這裡面有三個資訊需要制訂:

  1. User Name 登入帳號:XAMPP採用預設帳號,Windows底下使用xampp;Linux底下使用lampp
  2. Password 登入密碼:許多文章都有針對XAMPP密碼修改的地方進行介紹,例如挨踢路人甲的XAMPP的安全設定
  3. 登入訊息:預設採用xampp user。

雖然網路上大多談的是登入密碼的修改,但卻很少有人在講登入帳號與登入訊息的修改。其實這些設定也都只是使用Apache的內建功能,熟悉Apache的話倒也不難修改啦。以下就介紹如何修改登入帳號與登入訊息吧!

修改XAMPP的登入帳號 / Change XAMPP Security Username

以下我以Linux的環境進行說明。首先請以root的身份登入到Linux指令端操作。如果你的 XAMPP安裝在/opt/lampp底下的話(這是XAMPP教學的預設路徑),登入帳號檔案的位置如下:

/opt/lampp/lib/xampp.users

開啟之後,你會看到檔案訊息:

lampp:AtSURIRINO.bV6

以冒號為分界點,後面藍色的亂碼文字是登入時要輸入的帳號,已經經過加密,請使用XAMPP目錄保護功能修改;前面紅色的lampp則是登入帳號,使用明碼記錄。只要修改這個lampp成為你要登入的帳號,下次登入XAMPP時就用這個使用者帳號即可。附帶一提,這個帳號跟Linux的使用者無關,可以自行設定。

修改XAMPP的登入訊息 / Change XAMPP Security Message

要修改登入訊息的部分,則必須修改XAMPP目錄底下的.htaccess檔案才行(注意,檔案開頭即是一個點「.」,並非錯字)。XAMPP各個管理功能底下都有.htaccess,這也是Apache認證網頁的設定檔案,詳細細節請看鳥哥的介紹。XAMPP有時候使用.htaccess阻擋使用者從網路進入本機的管理檔案,而有三個.htaccess則是提供登入使用的設定檔,路徑如下:

  • /opt/lampp/htdocs/webalizer/.htaccess
  • /opt/lampp/htdocs/xampp/.htaccess
  • /opt/lampp/phpmyadmin/.htaccess

這些檔案的內容都一樣,內容如下:

AuthName "xampp user"
AuthType Basic
AuthUserFile /opt/lampp/lib/xampp.users
require valid-user

其中紅字的xampp user就是登入顯示的訊息。請改成你想提供的訊息,那下次XAMPP就會把這個訊息顯示在登入對話視窗裡面了。

2014-08-04_195433

這樣就完成了,讓你的XAMPP更加安全吧!

(more...)

Zotero如何記錄引用網頁的時間 / How to Find Date of Web Page in Zotero

Zotero如何記錄引用網頁的時間 / How to Find Date of Web Page in Zotero

image

使用Zotero記錄網頁時,Zotero常常不會自動帶入網頁的「日期」,而要我們自己手動輸入。這篇文章教你如何找尋網頁的日期。

When you use Zotero to cite current web page, Zotero usually doesn’t fill the date field. So you have to fill date by yourself. This article teach you how to find the date of web page.


使用Zotero記錄網頁 / How to Cite Web Page With Zotero

2014-08-04_155747

以我的文章「專書「DSpace開放源碼數位典藏系統建置理論與實務」出版了」為例,由於Zotero有內建Blogger的轉譯器(translator),所以我們可以直接點選網址列右邊的圖示把文章匯入到Zotero之中,如上圖所示。但是剛匯入的網頁資料卻仍有許多欄位還是空白的,包括日期欄位。

2014-08-04_160139

一般也可以用Zotero的「image從目前的頁面建立新的項目」,但是建立結果依然是沒有日期。

如果沒有日期的話,Zotero插入引用時就會變成以下這樣,日期的部分被顯示為「無日期」:

專書「DSpace開放源碼數位典藏系統建置理論與實務」出版了 / Developing an Open Source Digital Archive With DSpace: Theory and Practice : 布丁布丁吃什麼?. (無日期). 被取回 2014年8月4日, 從 http://pulipuli.blogspot.tw/2014/08/dspace-developing-open-source-digital.html

 

必須要注意的是,這個日期是指網頁發佈或修改的日期,並不是你保存網頁的「取用日期」(Access Date)。

總之不管用那一種方法,Zotero似乎都不會加入日期的欄位。這個部分就得靠自己來填寫了。

網頁上的日期 / Date from Web Page

要找尋網頁上的日期,一般來說有兩種方法:

2014-08-04_161416

一種是在網頁上直接顯示的資訊,以我的Blog為例,日期會放在文章上面(雖然有點淡),如上圖。

2014-08-04_164110

有些則是會放在網頁下方,例如國家圖書館的當代名人手稿典藏系統下面會註明「國家圖書館著作權聲明Copyright @ 2013 All Rights reserved」,我就會用這個資訊來作為日期的記錄。

image

如果是一般的網頁,通常在網頁上面是找不到日期資訊,例如紀剛的數位典藏計劃。那我們則可以利用Firefox來查詢網頁的最後修改日期。

利用Firefox查詢網頁修改日期 / Use Firefox to Display Web Page’s Last Modified Date

使用Firefox可以顯示網頁最後修改的日期。

做法如下:

  1. 在網頁上按右鍵,選擇「檢視頁面資訊」2014-08-04_164650
  2. 頁面資訊中就會顯示「上次修改: 2014年1月20日 下午 04:08:34」,這就是網頁的日期了。
    2014-08-04_164917
無效的網頁日期 / Invalid Web Page Date

2014-08-04_165151

必須要注意的是,有些網頁是使用動態程式碼產生,因此每次讀取頁面時,上次修改的日期也會隨之變動。以「About DSpace」為例,我開啟網頁的時間是8/4下午4點,而網頁的上次修改日期也是8/4下午4點,這就表示這是一個不能拿來作為日期的時間。

2014-08-04_170334

這時候就要找找看網站中有沒有顯示日期的相關文件了。以下是有可能顯示日期的資料來源:

  • 新聞頁面 News
  • 最新發佈 Latest Release
  • RSS通知訂閱 Feed
  • Twitter或Facebook等社交媒體的最新一則留言日期(代表該網站這時間還有在活動)

結語:正確地引用文獻 / Conclusion: The Importance of Correctly Citing Document

這篇介紹了如何用Firefox來找尋網頁的發佈日期,也就是在引用文件時詳實地記錄文件的內容。雖然本篇所介紹的方法是個人經驗談,而非正式的規範,但是我們依然不可忽略填寫網頁發佈日期的重要性。

有了網頁的發佈日期,讀者在閱讀文章時就能夠知道你所引用資訊的時代背景與新穎性。雖然Zotero在處理網頁時沒辦法幫你記錄日期,但是作為一個為讀者著想的寫作者來說,請務必多花點功夫為你的引用書目填上完整的資訊。

(more...)

專書「DSpace開放源碼數位典藏系統建置理論與實務」出版了 / Developing an Open Source Digital Archive With DSpace: Theory and Practice

布丁布丁吃布丁

專書「DSpace開放源碼數位典藏系統建置理論與實務」出版了 / Developing an Open Source Digital Archive With DSpace: Theory and Practice

20140803-pudding-1-0001_結果

最近終於把以Dspace-DLLL建置數位典藏的專書「DSpace開放源碼數位典藏系統建置理論與實務」完成了。本書不僅可以作為教科書、計畫建置的指導手冊,書中更包含一個可以直接安裝後使用的DSpace-DLLL系統。以下介紹本書的基本資料,作為書本的簡單行銷宣傳。

Recently we had published our book “DSpace開放源碼數位典藏系統建置理論與實務” (Developing an Open Source Digital Archive With DSpace: Theory and Practice). Following are the introduction and table of contents of this book.


書目 / Bibliography

20140803-pudding-1-0001_結果20140803-pudding-1-0002_結果

DSpace開放源碼數位典藏系統建置理論與實務

  • 作者:陳志銘、陳勇汀(布丁布丁吃布丁)
  • 出版社:文華圖書館管理
  • 出版日期:2014/05
  • 語言:繁體中文
  • 附件:1片DVD,內含DSpace-DLLL系統
  • ISBN: 978-986-6182-12-9
  • 定價:850元整

APA引用格式為:

陳志銘、陳勇汀(2014)。DSpace開放源碼數位典藏系統建置理論與實務。臺北市:文華圖書館管理。

書本導讀 / Introduction

本書提供有意建立數位典藏的相關專業人員建置系統的起步,也是為了數位內容、數位典藏學程、圖書資訊及資訊傳播等相關科系進行數位典藏實作教學目的而撰寫。數位典藏發展至今,已有許多以開放源碼釋出的數位典藏自由軟體可供利用,本書所介紹修改自 DSpace 的 DSpace-DLLL 即為其中一種。但是數位典藏系統的建置背後涵蓋著相當廣泛的專業知識,非常需要有一本專業的書籍作為入門學習的基礎。

20140803-pudding-1-0003_結果

為了引導讀者全面性的掌握數位典藏專業知識,本書先揭櫫數位典藏相關理論,包括數位典藏專案規劃、網站資訊架構、後設資料觀念與設計、電子資源管理、電子資源授權與權限控管,讓讀者具備使用 DSpace-DLLL 數位典藏系統的基礎觀念;其次介紹 DSpace-DLLL 系統的安裝、使用與修改,讓讀者能夠以本書所提供的 DSpace-DLLL 系統為基礎,以小幅度修改程式碼方式自行發展成具有特色的數位典藏系統;最後介紹以修改 DSpace 數位典藏系統開發的各類型數位典藏建置成果,以實際的例子說明各類型數位典藏的建置過程。

基於上述考量,本書內容主要分為三個部分,分別是數位典藏導論、DSpace 數位典藏系統實作以及DSpace 數位典藏建置案例介紹,再依據這三個部分區分為若干章節進行詳細介紹,全書共計十三個章節。作者希望透過本書的介紹,能提升讀者以開放源碼系統建置數位典藏的專業能力。

DSC_0054 裁切

本書的附件光碟為作者自行開發的DSpace-DLLL系統,這是基於DSpace1.5 版本以及整合多個開放原始碼自由軟體而成(如表 B所示),且本書修改自 DSpace 的 DSpace-DLLL 系統也以柏克萊軟體套件授權條款(Berkeley Sof-tware Distribution,簡稱BSD)發行。讀者可以自行安裝、架設或修改DSpace-DLLL的原始碼而不須徵求本書作者的同意,我們由衷地期望讀者能夠利用本書的內容與 DSpace-DLLL 系統建立起屬於您自己的數位典藏系統。

目錄 / Table of Contents

本書分成三個部分,包括數位典藏導論、DSpace數位典藏系統實作與DSpace數位典藏系統建置案例。

第一部分 數位典藏導論
  • 第一章 數位典藏概論:介紹數位典藏的各種定義,釐清讀者對於數位典藏的概念,並引領讀者認識數位典藏的相關計畫。
  • 第二章 數位典藏專案規劃:介紹數位典藏發展需要的成員組合,引導讀者瞭解如何從後設資料規劃設計與系統分析,一步一步地規劃建置數位典藏專案的執行細節。
  • 第三章 網站資訊架構:介紹數位典藏系統網站的組織架構原則,包括組織系統、標籤命名系統、導覽系統、搜尋系統、後設資料與控制詞彙等觀念。
  • 第四章 後設資料設計:說明後設資料的原理以及重要性,並介紹數位典藏常用的後設資料規格與參考資源。
  • 第五章 電子資源授權與權限控管:介紹電子資源的授權方式、各種不同的授權條款以及數位典藏系統權限控管的規劃與建議。
第二部分 DSpace 數位典藏系統實作
  • 第六章 DSpace 介紹:介紹 DSpace 的發展背景,帶領讀者瞭解 DSpace 各種功能特色與網頁使用介面,並介紹以 DSpace 發展完成的相關數位典藏應用。
    第七章 DSpace-DLLL安裝與設定:詳細介紹 DSpace-DLLL 安裝與設定程序,讓讀者能夠利用自己的電腦架設 DSpace-DLLL 數位典藏系統。
  • 第八章 資料內容組織架構:介紹 DSpcae 的資料內容組織架構,針對社群(community)、類別(collection)、文件(item)、檔案集(bundle)到檔案(bitstream)各層級與管理進行介紹,讓讀者學習如何制訂典藏的數位內容。
  • 第九章 帳戶、群組與權限設定:介紹如何建立 DSpace 的使用者、群組,以及權限控管的設定。
  • 第十章 遞交作業與工作流程:介紹 DSpace-DLLL 中設計與建立數位典藏的遞交作業與工作流程,其中遞交作業涉及後設資料規範的設定。
  • 第十一章 系統架構與版面修改:剖析 DSpace 的系統架構,並說明如何閱讀 DSpace 系統採用的 Java 程式碼,然後教導讀者修改網頁使用介面。
第三部分 DSpace 數位典藏建置案例
  • 第十二章 臺灣百年圖書館史數位圖書館先導計畫:介紹由政治大學圖書資訊與檔案學研究所依據修改DSpace所發展的「臺灣百年圖書館史數位圖書館」。詳細地描述數位典藏專案的建置程序,以供讀者作為規劃的參考。
  • 第十三章 教育部臺灣通識網課程資料庫:介紹「教育部臺灣通識網」建置的開放式通識課程資料庫成果。臺灣通識網課程資料庫包含典藏完整的優質課程資料庫與集合國內各大專院校通識課程資訊的通識課程基本資料庫。

出版現況 / Publication Status

image

目前「DSpace開放源碼數位典藏系統建置理論與實務」這本書已經在國家圖書館的全國新書資訊網登錄,但這不是銷售平臺,只是為新書記錄而已。

由於本書採用POD (Print On Demand,按需求印製)的方式印製,印量並不大,目前尚未在各通路上架。如果要購買的話,請直接跟文華圖書出版公司聯絡:

印量少加上還有一片DVD的情況下,本書不僅較難在傳統通路上架,價格也比一般書籍昂貴許多。我試著跟文華出版談談看能不能在Google Play等電子書平臺上架,讓想要的讀者更容易拿到本書。

(more...)

關閉TurnKey Linux網頁固定的頁尾廣告 / Remove TurnKey Linux’s Web Footer Advertisement

布丁布丁吃布丁

關閉TurnKey Linux網頁固定的頁尾廣告 / Remove TurnKey Linux’s Web Footer Advertisement

2014-07-02_202744

TurnKey Linux所提供的網頁底部會有他們的廣告,例如「Moodle Appliance – Powered by TurnKey Linux」。由於這個設定是強迫每個以「text/html」輸出的網頁都加入這個設定,有時候會造成自己設計的網頁跑出意外的資料。這篇文章則是教你如何移除TurnKey Linux的廣告。

TurnKey Linux Moodle Appliance puts advertisements in the footer of webpage. This article show you how to revise mod_substitute configuration to remove TurnKey Linux’s advertisement.


Apache的Substitute模組 / Apache Module Substitute

TurnKey Linux的廣告是使用了mod_substitute模組。這個Apache網頁伺服器模組可以為特定的網頁內容加入指定的內容。在TurnKey Linux Moodle Appliance裡面,mod_substitute的路徑位置如下:

  • /etc/apache2/mods-enable/substitute.conf

其內容資料為:

<Location ~ "^/(?!(lib/editor))">
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|</head>|<style type='text/css'> #turnkey-credit { font-family: Tahoma,Sans,Arial,Helvetica,Verdana,sans-serif; font-size: 11px; text-align: center; } #turnkey-credit a { text-decoration: none; } #turnkey-credit a:hover { text-decoration: underline; } </style></head>|i"
Substitute "s|</body>|<div id='turnkey-credit'> <div> <a href='http://www.turnkeylinux.org/moodle'>Moodle Appliance</a> - Powered by <a href='http://www.turnkeylinux.org'>TurnKey Linux</a> </div> </div></body>|i"
</Location>

2014-07-02_202744

由此設定檔substitute.conf可以看到,TurnKey Linux把廣告安插在</head>標籤與</body>標籤的後面。但這種強硬的設定會造成我們在建置網站時的諸多困擾。以下我將繼續說明如何移除這個設定。

移除TurnKey Linux的廣告 / Remove TurnKey Linux’s Advertisement

Image 1

做法如下:

  1. root身份進入以TurnKey Linux架設伺服器的命令列
  2. 修改mod_substitute.conf的檔案名稱:
    mv /etc/apache2/mods-enable/substitute.conf /etc/apache2/mods-enable/substitute.c


  3. 建立空白的mod_substitute.conf:
    touch /etc/apache2/mods-enable/substitute.conf

  4. 重新啟動 Apache伺服器:
    /etc/init.d/apache2 restart

2014-07-02_211744

重新啟動網頁,你會發現TurnKey Linux的廣告已經不見囉。


小結:mod_substitute的其他應用 / Conclusion

雖然這篇的教學是把TurnKey Linux在mod_substitute中設定的廣告拿掉,但反過來說,mod_substitute也是一種在網站中加入固定資料內容的好用工具。

有時候也不一定是廣告,甚至也可能可以加入CSS、JavaScript等函式庫,當然也可以用這種方式在每個網頁都加入KALS的功能

然而,mod_substitute畢竟是伺服器管理者的管轄範圍,這樣做就會為網站開發者帶來困擾。還是讓網頁功能回歸到程式碼本身,伺服器不宜加入太多影響吧。

(more...)

投影片8張合併1頁列印 / Print 8 Slides On a Paper

布丁布丁吃布丁

投影片8張合併1頁列印 / Print 8 Slides On a Paper

2014-08-03_005832

以Power Point製作投影片時,列印一般會印出6張投影片在一張A4上,但是投影片間距大、留下許多空白,浪費許多紙張空間。本文教你如何使用PDF的多個頁面列印功能,把8張投影片合併在一張A4紙上印出。

If you use Power Point to print multiple slides on a page, you will get a slides handout with large wide margin. This article show you how to use Bullzip PDF Printer and PDF-XChange Viewer to print 8 slides on a full paper.


Power Point的列印功能 / Print By Power Point

2014-08-02_235506

Power Point可以列印投影片供人當作講義來使用。Power Point所提供的列印方式中,最常用的不外乎是:

  • 6張水平投影片
  • 3張投影片

image

但是不論是那一種,投影片印出後總是會預留許多空白邊欄。上圖是使用6張水平投影片印製後的結果。仔細一看,如果空白處塞滿的話,其實這一張A4可以容納8張投影片,但是使用Power Point內建的方式並無法做到這件事情。部落客vincent建議使用印表機內建的合併功能,但也不是每個人都有HP的印表機來這樣做。

後來我研究一下,發現其實PDF-XChange Viewer可以提供多個頁面合併列印的功能。只是做法比較迂迴,以下以投影片「KALS閱讀知識合作標註學習系統介紹」為例子,說明如何印製8張投影片一頁的做法。


Step 1. 安裝PDF印表機 / Install PDF Printer: Bullzip

2014-08-03_001323

本文的合併投影片操作是將投影片轉換成PDF之後再來合併,因此你的電腦必須具備PDF印表機

如果你安裝Adobe Acrobat (注意,不是Reader,而是要付錢的Acrobat),那你的電腦應該已經安裝了一臺Adobe PDF印表機。

你也可以選用免費的PDF印表機,例如Bullzip PDF Printer,這個免費軟體一樣可以把投影片印成一份PDF檔案。以下將會以Bullzip PDF Printer來示範如何操作。

Step 2. 安裝PDF-XChange Viewer / Install PDF-XChange Viewer

2014-08-03_003336

PDF-XChange Viewer是一個知名的免費PDF閱讀器與PDF編輯器。這次我們要用他的多個頁面合併列印功能來合併投影片,因此請先安裝PDF-XChange Viewer。

Step 3. 單張投影片列印成PDF / Print One Slide To PDF

2014-08-03_001849

接著我們要使用Power Point來把投影片印成PDF。在此要注意的是,我們要印出的是「單張投影片」,印出到「Bullzip PDF Printer」。細節設定如下:

  • 印表機:Bullzip PDF Printer
  • 列印版面配置:
    2014-08-03_002241
    • 全頁投影片
    • [v]  配合紙張調整大小
    • [v] 高品質
  • 色彩:彩色

2014-08-03_002447

印出之後,Bullzip PDF Pinter請你輸入檔案名稱。檔案名稱要設定連同資料夾儲存位置的完整檔案路徑,請不要真的只有輸入檔案名稱而已。

2014-08-03_002633

PDF建立完成之後會,Bullzip PDF Printer會開啟PDF檔案,結果如上圖。以下連接是列印完成之後的PDF檔案:

Step 4. 每張紙多個頁面列印 / Print Multiple Slides On A Paper

2014-08-03_003829

接著請按「檔案 > 列印」,開啟列印對話視窗。

2014-08-03_004000

印表機的部分請繼續選擇「Bullzip PDF Printer」,待會一樣是先印成PDF檔案。

重要的是下面的「列印縮放」功能,請設定縮放類型為「每張紙多個頁面」,然後「自訂」後面輸入「2」(欄)與「4」(列)。

你可以注意到右邊的預覽列印已經變成了8張投影片印在一頁的狀態,然後再把投影片印出來吧。

Step 5. 完成8張一頁的投影片講義 / 8 Slides On a Paper

2014-08-03_004515

最後印出來的結果就是這樣子了。下載連接如下,你可以再拿這個檔案來做列印即可。


小結:其他列印應用 / Conclusion: Other Application

雖然本文主要教的是8張投影片印在一頁上,但其實列印多個頁面功能可以自由調整成其他列印方式。例如:

  • 兩張投影片一頁:自訂 1 * 2
    2014-08-03_004854
  • 4張投影片一頁:自訂 2 * 2,Bullzip屬性設定列印方向為橫印
    2014-08-03_005049
    2014-08-03_005250

除了投影片之外,只要能夠印成PDF的文件,都可以用這種方式如法炮製,將多頁縮在單頁印出。

最後,PDF-XChange Viewer儘管是免費的PDF閱讀器,但是豐富的功能卻完全不輸給付費的Adobe Acrobat,誠心推薦大家使用!

(more...)

KALS安裝教學 / KALS Installation Guide

布丁布丁吃布丁

0 Comments

KALS安裝教學 / KALS Installation Guide

2014-07-31_214209

KALS 閱讀知識合作標註學習系統 可以讓HTML靜態網頁加入合作式閱讀標註的功能。本文將會教你如何插入一段JavaScript程式碼,讓你的網頁擁有KALS的功能。

KALS (Knowledge-based Annotation Learning System) is a web-based system for digital reading. This guide describe how to install KALS on your webpage.


Step 1. 準備數位文本:您要加入KALS的網頁 / Prepare Digital Content: KALS Target Webpage

image

KALS可以安裝的數位文本必須是輸出成HTML格式的文字。範例頁面可以在此下載:

不管伺服器端使用的程式語言為何,像是PHP、ASP.NET、JSP還是Node.js,只要最後前端輸出的是HTML格式,都可以安裝KALS。

 

準備好內容之後,接下來就是安裝KALS的手續了。

Step 2. KALS安裝程式碼 / KALS Installation Code

以下是KALS基本安裝的程式碼:

<!-- [KALS] -->
<script type="text/javascript" src="http://public-kals-2014.dlll.nccu.edu.tw/kals/web_apps/generic/loader/release"></script>
<!-- [/KALS] -->

安裝位置請放在網頁的</body>標籤(注意,是結尾的<body>標籤)之前,如下圖所示:

2014-08-01_125908

KALS安裝完成的網頁範例請在此下載:

Step 3. 安裝完成 / Installation Complete

2014-08-01_130152

如果順利安裝完成,那麼就會看到KALS的功能列了。

接著要使用KALS的話,請註冊帳號。KALS的詳細使用教學請看這篇


安裝注意事項 / Attention

無法安裝KALS的數位文本 / Install Problem Webpage Types

以下類型的數位文本無法使用KALS,請不要安裝:

  • 前端以JavaScript框架實作的複雜網頁,例如用ext.jsjQuery MobileAngularJS實作的網站。
  • 以Flash、Java Applet等非HTML標準輸出的外掛程式。
  • 無法連線的網頁
  • 本機端的網頁:如果網址開頭不是http或是https,那就無法使用KALS
問題回報 / Report

如果安裝時有遇到任何問題,請在此篇底下留言,或是寄信給我,並告訴我必要的資訊:

  • 信箱地址:pulipuli.chen@gmail.com
  • 必要資訊:您所安裝的網頁位置,例如 http://kals.example.edu.tw
進階設定 / Advanced Configuration

KALS目前還是一個在開發中的專案,目前使用說明並不完整。程式碼的部分已經公開在GitHub上,建議可以閱讀程式碼以進一步瞭解KALS的內涵。而使用說明文件則會以GitHub的Wiki來撰寫。

合作與支援 / Support

如果您的單位想要結合KALS來合作開發,則以單位名義與國立政治大學圖書資訊與檔案學研究所 數位圖書館暨數位學習實驗室指導教授陳志銘老師聯絡。

(more...)

KALS 閱讀知識合作標註學習系統介紹 / Introduce KALS

布丁布丁吃布丁

1 Comments

KALS 閱讀知識合作標註學習系統介紹 / Introduce KALS

image

KALS (Knowledge-based Annotation Learning System)是從我碩士論文開始開發的一套合作式數位閱讀系統,實驗室許多研究都以此為基礎發展論文題目與計劃,也有不少成果發表。我做了一個簡單的投影片介紹KALS,未來可以以此為基礎介紹更多相關完整的功能。

KALS (Knowledge-based Annotation Learning System) is a web-based system for digital reading. There are many researches which based on this system in our laboratory. In order to introducing KALS to others, I wrote a slide in this article.


介紹投影片 / Slide

為了方便未來更新,這次擺放的版本是以Google Doc的簡報為主。

其他相關介紹網頁 / Other Introduction

至於KALS的其他介紹,可以參考KALS操作說明:

學術部分可以參考我的論文內容:

程式部分可以看GitHub公開的程式碼:

(more...)