:::

用Zotero從臺灣博碩士論文知識加值系統直接匯入書目 / Using Zotero to import references from NDLTD

布丁布丁吃布丁

用Zotero從臺灣博碩士論文知識加值系統直接匯入書目 / Using Zotero to import references from NDLTD

image

我寫了Zotero臺灣博碩士論文知識加值系統(又稱博碩士論文網)轉譯器(translator),讓Zotero可以直接在博碩士論文網中匯入文獻的書目資料,也可以從搜尋列表匯入多筆書目資料。希望能夠藉此促進我國研究者使用Zotero的的意願。

I developed a Zotero’s translator for importing reference from NDLTD (National Digital Library of Theses and Dissertations in Taiwan). You can import a refence from single page, or import multiple refences from list page. I hope the NDLTD translator will promote the acceptance of Zotero for Chinese.

(more...)

用Zotero從CEPS中文期刊服務直接匯入書目 / Using Zotero to import references from CEPS

布丁布丁吃布丁

用Zotero從CEPS中文期刊服務直接匯入書目 / Using Zotero to import references from CEPS

image

我寫了Zotero的CEPS轉譯器(translator),讓Zotero可以直接在CEPS(Chinese Electronic Periodical Services)中匯入文獻的書目資料,也可以從搜尋列表匯入多筆書目資料。希望能夠藉此促進我國研究者使用Zotero的的意願。

I developed a Zotero’s translator for importing reference from CEPS (Chinese Electronic Periodical Services). You can import a refence from single page, or import multiple refences from list page. I hope the CEPS translator will promote the acceptance of Zotero for Chinese.

(more...)

用SQLite資料庫安裝Drupal 7 / Install Drupal 7 with SQLite database

用SQLite資料庫安裝Drupal 7 / Install Drupal 7 with SQLite database

image

目前Drupal 7(我用的是elms-7.x-1.x-dev-core.zip)安裝時選用SQLite資料庫會發生錯誤,導致無法正常安裝。我試著修正了一些程式碼之後,使用SQLite資料庫安裝Drupal 7就能夠順利進行。以下介紹如何順利安裝使用SQLite資料庫的Drupal 7。

If you want to install Drupal 7 (for example, elms-7.x-1.x-dev-core.zip) with SQLite database, the installation would have encountered an error and crash. I fixed some bug of Drupal 7 to let the installation completes successfully. I will show you how to completely install Drupal 7 with SQLite in this post.


更新程式碼 / Update Codes

2013-03-16_133906

用Drupal 7原始碼安裝的時候,我看到畫面上出現了很多錯誤。於是我照著這些錯誤去修正程式碼,然後安裝大致上就很順利。

要修正的程式碼如下:([elms7]表示Drupal 7的根目錄)

  1. [elms7]\includes\install.core.inc
  2. [elms7]\includes\database\sqlite\query.inc
  3. [elms7]\profiles\elms\modules\contrib\features\features.module
  4. [elms7]\profiles\elms\modules\contrib\spaces\spaces_og\plugins\space_og.inc
  5. [elms7]\profiles\elms\modules\elms_features\elms_site\elms_site.module

安裝完成之後會遇到登入錯誤,於是我又修改了兩個檔案:

  1. [elms7]/profiles/elms/modules/contrib/og/og.module
  2. [elms7]/profiles/elms/modules/contrib/entity/includes/entity.wrapper.inc

安裝環境 / Environment

  • PHP Version 5.4.7
  • SQLite Library 3.7.7.1

安裝Drupal 7 / Install Drupal 7

接下來我用圖文教學,教大家用SQlite資料庫安裝Drupal 7的方法。

2013-03-16_133609

我這邊要安裝Drupal的發行版之一ELMS,所以我選擇這個。

2013-03-16_133626

在此不要選擇其他語言,因為安裝的時候中文好像有點問題。

2013-03-16_133722

選擇SQLite資料庫安裝,其他選項都用預設。

以下就是最關鍵的一步了!

2013-03-16_133906

如果你的程式碼沒有更新,你會看這一堆警告。

2013-03-16_142331

如果程式碼更新過了,你就會看到正常安裝的畫面。

image

安裝過程非常久,但是沒有錯誤訊息的話就一切OK!

2013-03-16_144745

資料庫安裝完成!接著設定其他的資訊吧。

image

完成。

image

全新的Drupal 7,很穩。

登入 / Login

image

安裝完成之後,預設網頁上並沒有登入的按鈕。你只會看到「Access denied」的錯誤訊息。

image

登入網址為:http://localhost/elms7/user/login (請換成你自己的網站)

請用安裝時設定的管理者帳號登入吧。

至於要怎麼在首頁就顯示登入表單,請看看「Display login form for anymous users when 'access denied'」這篇或其他的教學,本篇就到此為止了。


結語:自己修Bug / Conclusion: Fix Bug by Yourself

安裝過程中很多的問題都是在於陣列裡面沒有對應的指標,例如:

$non_required[$module] = $files[$module]->sort; 

有時候$module出現的值不見得存在於$files陣列中,或著是$files可能根本就不是個陣列。所以我們要在之前加入判斷式。

if (is_array($files) 
&& isset($files[$module])
&& is_object($files[$module])) {
$non_required[$module] = $files[$module]->sort;
}

這樣就不會發生錯誤了。

靜下心來看系統顯示的錯誤,然後修正它,很多問題就可以迎刃而解。

共勉之。

(more...)

Zotero安裝自製的轉譯器 / Install custom translator on Zotero

布丁布丁吃布丁

Zotero安裝自製的轉譯器 / Install custom translator on Zotero

standalone

本篇教你如何在Zotero安裝自製的轉譯器(translator),讓你可以拿取別人設計好的轉譯器安裝在自己的Zotero上。

This guide will show you how to install custom translator to Zotero. If you get some special translator which used for your local database or website, you could install it to your Zotero by following steps.

(more...)

Google閱讀器的關閉與資訊傳播的退化 / Google Reader is going to be closed, and information dissemination will be more closed too.

布丁布丁吃布丁

Google閱讀器的關閉與資訊傳播的退化 / Google Reader is going to be closed, and information dissemination will be more closed too.

image

Google閱讀器(Google Reader,以下簡稱Reader)即將於2013年七月關閉的消息讓網路上許多人哀號遍野。但是在大家擔心不能用Reader只好看看能不能轉戰Feedly之餘,我擔心的卻不是服務本身,而是RSS這個開放的標準逐漸不受重視的隱憂──資訊傳播正在逐漸從公開分享退化成私人隱蔽了。

Yesterday (14 March) many people on the internet got into panic because of Google Reader is going to be closed on July 2013. Somebody try to find another feed reader service, like Feedly, to replace Google Reader. But compared with service, we should pay more attention on the decline of RSS using. It means information dissemination is going to degrade from public sharing to private concealing. 


Google Reader的價值在於RSS標準 / The value of Google Reader is using RSS standard

Google Reader是大家彙整RSS訂閱網址而使用的訂閱器,那這個RSS大家知道是什麼嗎?

RSS的全名叫做Really Simple Syndication,這是一個資料交換的標準,讓人們能夠用統一的格式訂閱網站的最新訊息。我們就不用特別打開每個網站、每個人的BLOG,就能夠在我們習慣的環境下閱讀這些訂閱來源的最新資訊。

而RSS有一個特徵,他是公開的,每個人訂閱的RSS都相同,可以看到﹑追蹤一樣內容的資訊。大多數RSS都沒有權限控管,你只要那得到RSS訂閱網址,你就有權利訂閱訊息。當然,權限控管仍然可能做得到,但是非常麻煩也不實際,這不是RSS專注的重點。

發明RSS的人非常偉大。他就是之前因為從JSTOR抓太多論文而被FBI盯到自殺的名人Aaron Swartz。我相信RSS的利用率絕對超過圖資界常用的Metadata交換標準Dublin Core好幾倍,可是諷刺的是,圖資界許多人並不知道也不重視RSS標準,大家的概念依然停留在「讀者應該來圖書館(網站)找資料」的層級,但RSS卻早已經做到「圖書館(網站)把資料送到讀者面前」了。

G+取代Google Reader的隱憂 / The problem about if G+ placing Google Reader

現在Google要用G+來取代Google Reader,這其實是限制了我們取得資訊的途徑。這限制來自於必需經過G+,也來自於人們獲得了選擇的自由──大家都可以限制散佈資訊的對象了。

後者是一種諷刺,也是我的悲觀心態。人們獲得了選擇散佈對象的自由,可是卻很容易傾向於限制對小範圍的人分享他們獨特的資訊。這是人之常情,人擁有了自由之後對於自己加設限制的常情。一旦大家習以為常地將資訊埋沒在你自身周遭的世界,而吝於分享給素未謀面的陌生人,那結果很明顯,最後只是助長Google或Facebook獲得更多資訊,大家依然只是活在自己的小世界難以成長。人們在自己的選擇之下加深了資訊落差的鴻溝,而且是幫別人累積更多資訊、把自己推下了谷底。別懷疑,這不是未來的擔憂,而是現在正在發生的事情。

前者就更嚴重了。現在Google Reader關掉,大家還可以跳槽到Feedly。這是因為Google Reader用的是標準格式RSS。未來如果大家都變成G+,就算Google可以讓你Takeout匯出服務,你又要到哪去找到一個跟G+一樣的平台?死對頭FB,可能嗎?

如果從這角度來看,你會發現你根本就沒得選擇──用了G+就必須要一直用G+,就像是用了Facebook之後就很難轉移到其他服務,是一樣的意思。

結語 / Conclusion

Google Reader關閉所帶來的問題並不只是要我們跳槽到其他服務就好。Google捨棄了標準但強制公開的RSS,而轉向權限細緻化但封閉的G+。

儘管我們還是可以稍微期待一下G+隱藏的RSS功能有朝一日會再被受到重視,或是像G+或FB這種社交網站有天會有共通的資訊交換標準出現,好讓我們隨時跳槽到我喜歡的服務上。但是可以確定的是,控管閱讀權限的資訊分享方式已經是勢不可擋的趨勢。

這是否意味著我們獲知的權利即將從自由開放退化到隱性封閉呢?這對追求資訊自由的圖書館從業人員來說,是相當值得深思的議題。

(more...)

如何下載「布丁布丁吃什麼?」的Google Docs投影片 / Guide for downloading slide from Google Docs

布丁布丁吃布丁

如何下載「布丁布丁吃什麼?」的Google Docs投影片 / Guide for downloading slide from Google Docs

image

「布丁布丁吃什麼?」上面有時候擺放投影片,這些投影片有時候會上傳到不同空間,但大多數都會以Google Docs(現在叫做Google Drive雲端硬碟)內嵌播放的方式呈現,讓人在閱讀Blog的時候就能夠觀看投影片。

然而許多人並不知道,這些內嵌播放的投影片就能夠直接下載成Power Point或PDF。最近我收到了許多分享投影片的請求,讓我覺得應該寫一下簡單的教學,讓大家知道如何從Google Docs下載投影片。

My blog has many slides. Must of slides are hosted in Google Docs (or Google Drive). Google Docs supports us to read the slides on webpage with a embed iframe player, and you can also download slides directly from the player.

This post will teach you how to download the slide as Power Point file from the Google Docs player.

Step.1 開啟內嵌網頁 / Open Embed Iframe

這篇以DSpace教學講座(四):修改實例之修正TextEditor為例來說明如何操作。

image

「布丁布丁吃什麼?」的內嵌網頁(iframe)都會先以這種樣式呈現。這是為了避免讓大家一開網頁就要載入許多內嵌網頁、拖慢了網頁速度的設計。

未來可以考慮應用「圖片延遲載入」的功能,當讀者捲軸讀到這個內嵌網頁時,就自動開啟內嵌網頁的原貌。

Step.2 開啟設定選單 / Open Setting

image

開啟內嵌網頁之後就會看到Google Docs的播放器。請按下下方工具列的齒輪圖示,開啟設定選單。

Step.3 下載為PPTX / Download PPTX file

image

設定選單中有一項就是「下載為PPTX」。點下去就開始下載了。

如何開啟PPTX? / Guide for Opening PPTX

pptx_win

因為寫這些有點太短了,不好意思只是來賺個稿費(?)。這邊額外再來說明如何開啟PPTX檔案。

PPTX是Microsoft Office PowerPoint 2007之後使用的格式,在PowerPoint 2003之前使用的則是PPT。儘管現在PPT的使用量逐漸下降,但是還是很多人使用著舊版的Office,無法直接開啟PPTX。

這邊我提供兩種作法,讓你可以開啟PPTX檔案。

使用自由軟體LibreOffice / Use LibreOffice

image

LibreOffice是從知名的OpenOffice分支而成的專案。現在開放原始碼界最常使用的辦公室生產力軟體應該非LibreOffice莫屬,它也可以開啟Office的檔案格式。因為是採LGPL3授權的自由軟體,所以你可以免費下載使用,當然也有正體中文版囉。

為Office 2003以前的版本安裝檔案格式相容性套件 / Install Microsoft Office Compatibility Pack

這是微軟推出的工具。只要安裝檔案格式相容性套件,就算是Office 2003以前的早期版本,也能夠直接開啟Office 2007之後的Open XML檔案格式囉。


結語:練習下載看看吧 / Conclusion: Exercise

現在就以「DSpace教學講座(四):修改實例之修正TextEditor為例」這篇的投影片來練習看看下載Google Docs的方法吧。

有什麼問題請在下面回覆喔。

(more...)

「布丁布丁吃什麼?」在GitHub上開放原始碼囉! / My Blog is now open source on GitHub!

布丁布丁吃布丁

「布丁布丁吃什麼?」在GitHub上開放原始碼囉! / My Blog is now open source on GitHub!

image

布丁布丁吃什麼?」這個Blog最大的特徵就在於網站上有著許多奇奇怪怪的小功能。從側邊欄上的「最近留言」、「最新文章」「留言板」,到文章本身的「自動摘要法」「圖片延遲載入」等各種小工具,都是Blogger沒有提供、我參考別人的寫法或自己撰寫而成的功能。

現在這些程式碼統一保存在GitHub上進行版本控制。對於改造Blogger有興趣的朋友、JavaScriptCSS有興趣的朋友,歡迎參考我的程式碼,彼此多多切磋交流吧。

Welcome to Pulipuli.blogspot.tw. My blog has many features which are not provided by Blogger, for examples, like “recent response list”, “recent post list”, “post auto digest”, etc.. Today, I released the code of these features on GitHub. You can use them freely. Enjoy it!

存放空間的遷移歷程 / History of Code Hosting

說真的,「布丁布丁吃什麼?」很早之前就是Open Source了。除了Blogger內建功能之外,大部分功能都是以JavaScript與CSS的程式碼來實作。這些程式碼本身都是必須讓你下載之後才能執行,換句話說,這些功能本身就是「開放」的程式碼了。

那麼這些程式碼是存在哪裡呢?這邊我就在簡單的回顧中記錄一下「布丁布丁吃什麼?」的這段歷史吧。

Google Page Creator

我印象中「布丁布丁吃?」時期一開始的時候,我是將程式碼擺放在Google Page Creator中。Page Creator是Google早期供人架站的空間。雖然它只有提供100MB的大小,在流量上也有諸多限制,但是擺放我這種小流量Blog使用的JavaScript與CSS程式碼已經很夠用了。

不過老實說它不太好用,沒有目錄功能(因為Page Creator是用來建立網頁、而不是網站),上傳介面也很難操作。幾年之後,Page Creator被關閉,成為歷史名詞。而原本在Page Creator上的程式碼則是被轉換到Google協作平台上繼續運作。

Google Sites協作平台

image

由於Google Page Creator被關閉,我的程式碼就順勢移到了Google協作平台上,叫做「布丁布丁吃?」wiki。協作平台搭上了當時流行的wiki風格,讓人容易在網頁上建立資料,也允許更複雜的網站架構。

協作平台是個穩定的架站空間,我一樣把它用來存放JavaScript與CSS程式碼。受惠於協作平台的功能,我可以將程式碼分門別類,每次上傳檔案也會記錄不同的版本。在「布丁布丁吃什麼?」介紹的功能中,有些是獨立出來讓讀者安裝使用的程式碼,這些程式碼就會放在協作平台中,跟「布丁布丁吃什麼?」專用程式碼分開保存。

可惜的是,協作平台的上傳功能依然很難用。點開網頁、選擇檔案、上傳的這幾個步驟雖然看起來很簡單,但是時常修改程式碼的話,這些步驟依然是相當地煩人啊!

Dropbox

image

「布丁布丁吃什麼?」的程式碼中,給讀者使用的程式碼是放在協作平台,而現在你所看到「布丁布丁吃什麼?」專用的JavaScript與CSS程式碼其實是架設在Dropbox的公開資料夾Public底下。

知名雲端硬碟Dropbox早在很久之前就提供了架站空間的功能,你可以把網頁程式碼放在公開資料夾上供他人瀏覽,也可以用DropPages之類的第三方應用輕易地架起專業網站。

雖然我的網頁內容寫在Blogger上,不過JavaScript與CSS卻也可以放在Dropbox中。我這次搭配Directory Junction整合了Aptana Studio 2 IDE與本機端XAMPP伺服器的運作環境。我不僅能在本機端開發與測試「布丁布丁吃什麼?」,也能夠用簡單地幾個步驟就能夠將JavaScript與CSS進行壓縮、上傳到Dropbox公開資料夾。

如果你對Dropbox有興趣的話,歡迎使用我的推薦連結來註冊Dropbox,順便幫我增加一點空間吧!

布丁邀請註冊Dropbox連結

GitHub

6a00d8341c767353ef016762f7c808970b-800wi

Dropbox提供了我的程式碼穩定的運作環境,而GitHub則是提供了查看我的程式碼的社交平台。

之前我開始研究起GitHub,這是因為最近看到幾篇新聞都在討論GitHub。GitHub是許多開放原始碼專案存放的保存庫,近年來也逐漸成為公司招聘程式設計師的管道。因為公司能在GitHub上看到每個人實際上寫的程式碼,而不是像LinkedIn只能看到幾行經歷。

雖然說光看程式碼也不見得夠看到實際上運作的平台,就像是「布丁布丁吃什麼?」的GitHub也是要搭配Blogger才能運作,不過光是為這個社群貢獻程式碼的精神,我覺得就具有令人值得去做的意義。

我想藉由「布丁布丁吃什麼?」的程式撰寫來練習GitHub與Git的用法,這也是「布丁布丁吃什麼?」作為讓我實驗程式碼的用途之一啊。

近期「布丁布丁吃什麼?」的調整 / Recent Changes in Pulipuli.blogspot.tw

image

除了用GitHub與Dropbox改進「布丁布丁吃什麼?」的功能調整流程之外,最近也做了幾個小地方的修改。

英文標題與摘要 / Writing Title and Abstract in English

image

作為博士生,英文寫作是必須要去面對的課題。我希望能夠在日常生活中就常常使用英文來寫作,所以現在就從寫Blog開始。我寫的英文應該會有很多錯誤,歡迎大家用留言回覆來幫我糾正一下喔!

至於為什麼只有標題跟摘要是英文,這是因為光是寫標題跟摘要就花了好多時間,等更能上手之後再來考慮全英文的Blog吧。不過我寫這Blog一部分就是為了給華人地區的讀者看,所以仍然會以中文版本為主喔!

QR Code

image

有人發現到了嗎?這是今天才剛出來的新功能喔!「布丁布丁吃什麼?」每篇全文文章最後都加上了QR Code的名片,讓讀者方便知道這篇文章的來源。

對我來說,因為我很常查閱「布丁布丁吃什麼?」的文章,有時候在電腦上看一看想要轉移到手機上的時候,在手機輸入網址總是太過麻煩。現在我只要在手機上用QR Code Scanner之類的App掃描一下QR Code,就能在手機上直接開啟文章內容喔!

image

在列印的時候,也會出現這個名片的樣子。就算將「布丁布丁吃什麼?」印成紙本,也能夠透過QR Code方便地回到網頁上喔。

這個功能是以jquery.qrcode.js為基礎,我自己建立了它的分支並進行改造,在加上適用於Blogger環境的包裝器(wrapper)來實作。如果有人也想要安裝QR Code到你的Blogger的話,請回覆在下面,我有時間會再另外寫一篇QR Code的安裝教學。


結語 / Conclusion

藉著調整Blog的契機,這篇介紹了「布丁布丁吃什麼?」的JavaScript與CSS原始碼存放空間選擇的歷程,目前是用以下規則來擺放程式碼:

然後聊了一下最近「布丁布丁吃什麼?」的變動,也順便宣傳自己加入的QR Code功能。

最後我想閒聊一下QR Code。我認為QR Code不僅僅只是讓人在廣告上開啟網頁而已,它可以是連結實體與數位(從印出紙本開啟Blog)、數位到數位(從螢幕掃描到手機),也可以藉由加入特殊參數讓它用於開啟指定的應用程式。而這個簡單的轉換,卻能夠連結不同時空的人與物。

想像一下,公車的乘客不需要在座椅上塗鴉了。他們可以掃描這台公車專屬的QR Code,然後在這台公車專屬的線上討論版聊天;圖書館的讀者不僅僅是在書上從別人的筆記來認識與這本書內容相關的事情,他能掃描QR Code來到這本書專屬網站上來取得相關資訊,更能在討論版上認識同樣閱讀這本書的愛書者。

QR Code只是簡單的技術,重點在於要如何應用。這也是我們作為研究者應該去思考的問題。共勉之。

(more...)