研發事項


版權宣言:

本文版權屬於全體作者所有,且以 GNU FDL 授權合約發佈。在遵守 GNU FDL 授權合約的情況下,您可以複製、散佈,以及修改本文件。唯請保持作者列表的完整,若您修改過此份文件,也請在作者列表中加入您的大名。如果您遇到任何使用 上的問題,歡迎來信。若是您有更好方法,也歡迎來信指教。

GNU Free Documentation License http://www.gnu.org/copyleft/fdl.html

作者列表:
游龍山 Longshan Yu<long_sam.tw@yahoo.com.tw >


1. 前言
2. 流程控制
3. 版本控制
4. 程式註解(POD格式)
5. 測試網站
6. 參考文獻

在一個伺服器安裝多個Koha。Installing Multiple Instances of Koha

1. 前言

Koah Taiwan 為了讓中文化,以及功能開發能夠依循正規軟體開發模式,將導入 Trac http://trac.edgewall.org + Subversion http://subversion.tigris.org 這兩套軟體,讓 Koha Taiwan 更方便管理。至於目前 Koha 總部已經使用 git 為版本控制軟體,這部分將不跟進,因為還有一些不是版本控制能夠處理的流程,所以會搭配 Trac 來處理進度管理等工作。

2. 流程控制

目前 Koha Taiwan 要進入專案管理程序(PMBOK)http://en.wikipedia.org/wiki/PMBOK,採用 Trac 軟體來幫助管理流程控制。關於 Koha Taiwan 流程控制有:

  • 文件
  • 程式
  • 使用者需求

【文件部分】有新增,都需要有流程管控需求單(Ticket【Trac 軟體的稱呼】),文件若有更新或是刪
除也一樣。文件和程式都要進入【品質控管】 QC(Quality Control)http://en.wikipedia.org/wiki/Quality_control,
【品質保證】QA(Quality Assurance)http://en.wikipedia.org/wiki/Quality_assurance。等到 QC、QA 結束,
才會有正式版出現之後,就需要關閉流程管控需求單,並公布論壇,流程圖(如圖1)。
圖1
圖1

【程式部分】,因為列外有使用 Subversion 作為版本控制的工作,除了新增 Repository 以外,新增 Trunk、
Branches 都需要對應到1張流程管控需求單(Ticket),也就是任何有關 Commit 的動作,都需要有1張流程管
控需求單(Ticket)。這樣在 Trac 上可以看到 milestone(我定義為一個專案或是任務)時,所開出的流程
管控需求單(Ticket),完成多少。
 
程式和文件一樣都會有 QC、QA 程序,結束之後,才會有正式版出現之後。程序是由(Koha Taiwan 內部人員)提
出構想並進行討論,接著進入 Trac 系統,開出1張流程管控需求單(Ticket)。接著撰寫程式,並與毛老師討論,
完成程式,進入 QC、QA,這中間會有(Alpha、Beta)版本出現,結束之後。通知文件負責人,撰寫使用者文件,
文件本身也有 QC、QA,最後由提出構想的負責人釋出正式版,並公告論壇,同時也要關閉流程管控需求單(Ticket),
流程圖(如圖2)。
圖2
圖2

【使用者需求部分】,主要是由使用者提出需求,使用者需要進入 Trac 系統,之後交給 Koha Taiwan 的對外處
理窗口,目前暫定毛老師。之後毛老師會會和研發人員(RD)討論規格,開發期間,研發人員會陸續與使用者及毛
老師一同討論是否達到其要求,當程式開發完成或是修改完成,會轉給 QC、QA,等到處理結束,則由文件負責人
,負責使用者文件撰寫,等所有程序完成,就會由毛老師關閉流程管控需求單(Ticket),並通知提出需求的使用
者及公告論壇,(如圖3)。
圖3
圖3


3. 版本控制

Koha Taiwan 在版本控制上,採用 Subversion http://subversion.tigris.org 軟體來處理,
目前範圍包含文件與程式碼。文件版本類型分成:

  • Alpha
  • Beta
  • Release

【Alpha】- 文件作者已經完成,不過還沒有給 Koha Taiwan 內部人員審核。

【Beta】- 文件作者已經完成,已進入 Koha Taiwan 內部人員審核。

【Release】- 文件作者已經完成,已經可以發佈。

軟體版本類型分成:

  • Alpha
  • Beta
  • Release

 【Alpha】- 軟體已經由開發人員完成,進入 Koha Taiwan 內容人員 QC、QA 程序。

 【Beta】- 由其他人員(非 Koha Taiwan 內部人員)進行 QC、QA 程序。

 【Release】- QC、QA 程序已完成,進行釋出並發佈公告至論壇。

4. 程式註解(POD格式)

研發人員在轉寫程式一定會有一些程式描述與說明,格式方面採用 Perl 的 POD(Plain Old
Documentation),因為 POD 可很方便轉純文字格式(pod2text)、HTML 格式(pod2html)
、latex 格式(pod2latex)等。POD 通常可以由三種段落方式呈現:

  • Ordinary Paragraph(格式化)
  • Verbatim Paragraph
  • Command Paragraph

【Ordinary Paragraph】字型可呈現粗體、斜體,超連結及程式碼,還有 HTML/XML 的跳脫字元,如 >< 等。

【Verbatim Paragraph】處理段落中空白、Tab,以及一些特殊格式不會被解譯。

【Command Paragraph】提供:
=pod
=head1 Heading Text
=head2 Heading Text
=head3 Heading Text
=head4 Heading Text
=over indentlevel
=item stuff
=back
=begin format
=end format
=for format text...
=encoding type
=cut
處理段落排版。
如果不清楚可以參考 Koha 的程式碼,或是 http://www.cpan.org 別人寫的程式碼。
另外關於 Koha 程式撰寫,還需要注意一點。開發時,程式碼目錄一定要 Changes、README 兩個檔案:

  • Changes(說明修改部分,或是工作日誌,並註明 Ticket 號碼,如:refs #1)
  • README(說明開發架構、檔案架構、如何使用)

如果是英文版本,檔名不需要更動,如果是中文部分,語系請採用 ISO 639-1(中文:zh)
http://www.ethnologue.com/14/iso639/codes.asp,區域方面,若是台灣地區使用 ISO 3316
(台灣:TW、中國:CN)http://www.iso.org/iso/country_codes/iso_3166_code_lists/english_country_names_and_code_elements.htm
編碼採用 Unicode 的(UTF-8),所以如果是一個繁體中文檔,應該為:
 
* Changes.zh_TW.UTF-8
* README.zh_TW.UTF-8

文件版權宣言部分,採用 GNU FDL,請在文件最上方註明。
根據 GNU 自由軟體基金會的 GNU FDL,在封面之後寫上版權宣言即可。英文範本如下:
 
    Copyright (c)  2007  Longshan Yu. // 填上時間(年),以及姓名
    Permission is granted to copy, distribute and/or modify this document
    under the terms of the GNU Free Documentation License, Version 1.2
    or any later version published by the Free Software Foundation;
    with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
    A copy of the license is included in the section entitled "GNU
    Free Documentation License".
 
中文部分:這是我自己修改的版本,如下:
 
本文版權屬於全體作者所有,且以 GNU FDL 授權合約發佈。在遵守 GNU FDL 授權合約
的情況下,您可以複製、散佈,以及修改本文件。唯請保持作者列表的完整,若您修改
過此份文件,也請在作者列表中加入您的大名。如果您遇到任何使用上的問題,歡迎來
信。若是您有更好方法,也歡迎來信指教。
 
GNU Free Documentation License http://www.gnu.org/copyleft/fdl.html
 
作者列表:
游龍山 Longshan Yu<long_sam.tw@yahoo.com.tw >

程式版權宣言部分,採用 GNU FDL,請在程式最上方註明。
根據 GNU 自由軟體基金會的 GNU GPL,在程式最上寫上版權宣言即可。英文範本如下:
 
    Copyright (C) <2007>  <Longshan Yu> // 填上時間(年),姓名
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
中文部分:這是我自己修改的版本,如下:
軟體版權屬於全體作者所有,且以 GNU GPL 授權合約發佈。在遵守 GNU GPL 授權合約
的情況下,您可以複製、散佈,以及修改軟體,您可以使用任何 GNU GPL 授權合約版本
。對於軟體本身,不做任何保證,詳細請參考 GNU GPL 授權合約,唯請保持作者列表
的完整,若您修改過此軟體,也請在作者列表中加入您的大名。如果您遇到任何使用上
的問題,歡迎來信。若是您有更好方法,也歡迎來信指教。
 
GNU General Public License http://www.gnu.org/licenses/gpl.html
 
作者列表:
游龍山 Longshan Yu<long_sam.tw@yahoo.com.tw >

5. 測試網站

目前 Koha Taiwan 會進行流程控制、版本控制,分別使用 Trac、Subversion 兩種軟體。
Trac 目前提供測試網站 http://lit145.lacc.fju.edu.tw:8000/trac/wiki。目前開放給任何人有:
 anonymous BROWSER_VIEW
 anonymous CHANGESET_VIEW
 anonymous FILE_VIEW
 anonymous LOG_VIEW
 anonymous MILESTONE_VIEW
 anonymous REPORT_SQL_VIEW
 anonymous REPORT_VIEW
 anonymous ROADMAP_VIEW
 anonymous SEARCH_VIEW
 anonymous TICKET_VIEW
 anonymous TIMELINE_VIEW
 anonymous WIKI_VIEW
 
大部分都屬於瀏覽功能。
如果要測試 Trac 其他功能,請 e-mail:long_sam.tw AT yahoo.com.tw
至於 Subversion 部分,如果要測試,請 e-mail:long_sam.tw AT yahoo.com.tw
Subversion 匿名者(anonymous)使用方式。
首先要先安裝 subversion
 
root@lit184:~# apt-get install subversion
root@lit145:~# svn co svn://lit145.lacc.fju.edu.tw/svn/kohadoc/koha229trunk
trunk => 請對應 http://lit145.lacc.fju.edu.tw:8000/trac/browser
 
註:目前只提供下載權限。
 
以上是命令( Command )方式,你也可以安裝圖形(GUI)介面。
 
1. subcommander(建議)
2. rapidsvn
3. kdesvn
4. esvn
5. qct
 
安裝方式如下
root@lit184:~# apt-get install subcommander

以上圖形操作方式大致上都差不多,不過 subcommander,多了一些功能。
接著開啟 subcommander。如(圖4
圖4
圖4

選擇【Project】->new project】。如(圖5
圖5
圖5

填上 project 名稱,範例為【koha】。如(圖6
external image 2093920067_acbdbc3580_o.png
可以點選 project 名稱,選擇滑鼠右鍵,選擇【project settings】,或是
選擇工具列【Project】->【project settings】。如(圖7
圖7
圖7

選擇【project folder】,設定【type】﹑【name】﹑【path】,【type】分成
trunk﹑branches﹑tags﹑working copy﹑repository,【name】可以自己命名,
【path】修改成 svn://lit145.lacc.fju.edu.tw/svn/kohadoc/koha229trunk 即可
。【path】請參考 http://lit145.lacc.fju.edu.tw:8000/trac/browser,確認無誤,
選擇【Apply】。如(圖8
圖8
圖8

選擇【koha】->【trunk】,可以看到【trunk】檔案清單,如(圖9
external image 2093974299_3a58a9bcf2.jpg
現在只開放 checkout 權限給匿名者,所以選擇【koha】->【trunk】,
按下滑鼠右鍵,選擇【checkout】,或是選擇【Repos Bookmark】->
【checkout】,快速鍵【Ctrl+Shift+C】。如(圖10
external image 2093986749_79080b9101_o.png

設定【working copy path】,選擇右邊【...】按鈕。如(圖11
圖11
圖11

接著設定你 checkout 下來的程式,要放哪裡。如(圖12
圖12
圖12

確定無誤,點選【OK】。如(圖12
圖13
圖13

建議使用 subcommander,因為它有 log graph,雖然功能沒有 TortoiseSVN
http://tortoisesvn.tigris.org 強大,TortoiseSVN 是 GNU GPL 授權,相信
不久一定會有 GTK/QT 版本,不過 subcommander 使用上也很方便。如(圖13
圖13
圖13


6. 參考文獻