2011年8月30日 星期二

專案管理工具-xplanner plus

最近在survey一個工具來管理專案進度
之前用過XPlanner,覺得還不錯用
不過後來找到XPlanner plus,感覺比XPlanner更棒的樣子
XPlannerXPlanner plus是以極限編程(eXtreme Programming, XP)的概念來設計project control的工具
若有人對XP有興趣,就自己google一下吧

這裡先提一下基本觀念,整個工具繞著XP的觀念走
你必須建Project -> Iteration -> User Story -> Task
先建Project,你的專案名稱(: XX資訊系統)
再建Iteration,這裡可以用模組來分,或是這次要開發的新功能名稱
User Story,我這裡一般都會建立功能名稱,例如:員工資料建檔、或者是會員登入、購物車清單
Task,這部份我之前有針對所屬的user story建立「系統分析」、「開立系統規格書」、「開發」、「測試」,不過這個項目也programmer自己填需要完成哪些副程式也可以。

下次再來談使用xplanner plus的使用心得

註:

Web.config的ConnectionString

不知道大家在多人開發環境.NET時會不會有這樣的問題
如果開發時,team的每個人都是連自己local的DB
從版本控管系統取得程式下來後
自己local端的web.config檔中的connection string被蓋掉了
一般由.NET自行產生的connection string會如下格式:
<connectionStrings>
    <add name="DBConnStr" connectionString="Data Source=yourDB;Initial Catalog=yourDDName;User ID=sa; pwd=xxxx;" providerName="System.Data.SqlClient" />
</connectionStrings>
建議將connection string改為連外部檔案
<connectionStrings configSource="MyConnectionString.config">
</connectionStrings>
MyConnectionString.config內容如下:
<connectionStrings>
  <clear/>
  <add name="DBConnStr" connectionString="Data Source=yourDB;Initial Catalog=yourDDName;User ID=sa; pwd=xxxx;" providerName="System.Data.SqlClient" />
</connectionStrings>
再將MyConnectionString.config設為不從版本控管系統更新就可以啦。

其實從.NET 4.0之後,可以利用 XML Document Transformation 解決開發環境轉換的問題
但是個人還是不太喜歡這個方法
沒有Java的Maven來得好用
之後我再試看看用MSBuild能否解決開發環境轉換的問題吧

2011年8月29日 星期一

ViewData與TempData

都是繼承自System.Web.Mvc.ControllerBase都是實做IDictionary介面

ViewData用途:經由Controller將Data傳給View
TempData用途:經由Controller將Data傳給View

ViewData的生命週期:只有一個Action
TempData的生命週期:可跨Action(存在Session中),但是只能跨一個Action(透過RedirectToAction的方式),之後在下一個Action取出TempData的資料後,Session就會被清空。

2011年8月23日 星期二

git server on windows記錄

*安裝apache

*安裝git

*將git安裝目錄的bin\libiconv2.dll 和 libiconv-2.dll  複製到 libexec\git-core\ 下

*在D槽新增GitRepos,用來放git repository

*修改apache的httpd.config
修改Directory區塊如下

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
</Directory>


在最後面加入
#Set this to the root folder containing your Git repositories.
SetEnv GIT_PROJECT_ROOT D:/GitRepos
# Set this to export all projects by default (by default,
# git will only publish those repositories that contain a
# file named “git-daemon-export-ok”
SetEnv GIT_HTTP_EXPORT_ALL
# Route specific URLS matching this regular expression to the git http server.
#若git的存放路徑不同,記得修改最後一行
ScriptAliasMatch \
  "(?x)^/(.*/(HEAD | \
    info/refs | \
    objects/(info/[^/]+ | \
      [0-9a-f]{2}/[0-9a-f]{38} | \
      pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
    git-(upload|receive)-pack))$" \
    "C:/Program Files (x86)/Git/libexec/git-core/git-http-backend.exe/$1"
<Location "/">
    AuthType Basic
    AuthName "GIT Repository"
    AuthUserFile "D:/GitRepos/htpasswd/git.passwd"
    Require valid-user       
</Location>

*產生git.passwd
在命令列下,切換到apache底下的bin目錄
key下面指令: htpasswd -c git.passwd 使用者名稱
之後會要你輸入密碼
若要再產生另外一個帳號到同一個檔案
則輸入htpasswd -m git.passwd 使用者名稱
之後把bin目錄下的git.passwd搬到D:/GitRepos/htpasswd/

*重啟apache

*使用git的bash到D:/GitRepos
  git init --bare --share TestProject
  再切換到TestProject
  git update-server-info

*之後就從client抓資料啦