OpenProject教學
開源專案管理
簡介
GeminiAI生出來的
Openproject
OpenProject 是一款開源的專案管理軟體,可用於雲端或本地部署。它提供了一系列功能,可幫助團隊有效地管理專案,包括:
OpenProject 的主要功能包括:
OpenProject 具有以下優點:
OpenProject 適用於各種規模的團隊和組織,包括:
如果您正在尋找一款功能強大、靈活且可靠的專案管理軟體,OpenProject 是一個不錯的選擇。
以下是一些使用 OpenProject 的具體案例:
這些案例表明,OpenProject 已被一些世界上最大的組織採用,並證明了其作為一個可靠的專案管理工具的能力。
OKR
出處
https://www.eventx.io/zh/blog/okr
https://businessmap.io/okr-resources/okr/best-practices
企業內部 OKR 實行架構
目標的設置應該要是可行動、且具野心的,它們應該是需要努力才能完成的目標。在目標完成後,就可以進一步設置能夠協助達成目標的關鍵成效。
以下列舉 10 個最適合應用 OKR 的情境,可依據公司內部需求參考使用:
- 作為核對工具,取得所有內部人員對於公司目標的認同
- 將團隊 OKR 與公司整體目標對齊
- 領導層支持,並設置 OKR 提倡者,鼓勵大家完成 OKR 目標
- 讓 OKR 的內容對所有關係人透明
- 教育所有人,並讓大家都參與到 OKR 的建置過程
- 一開始先不要設置太多目標,從清晰明確的少量目標開始
- 將目標放在激勵因素前面,「為什麼做」才是重點
- 讓員工為自己設置 OKR
- 每週核對 OKR 執行進度
- 固定回報執行成果
有 OKR 之父稱號的 Andrew Grove 說過,就算吸收再充分的知識,缺乏執行那就都沒用了。
制定出 OKR,就是為了要有效動手執行計畫、進而達成目標。
範例: https://businessmap.io/okr-resources/okr/examples
Openproject與OKR
OKR 是「Objectives and Key Results」的縮寫,是一種目標管理框架,可用於幫助組織和團隊設定、跟踪和實現目標。OKR 由以下兩個部分組成:
- 目標:是組織或團隊想要實現的定性目標。
- 關鍵結果:是衡量目標達成進度的定量指標。
OKR 通常以季度為基礎進行設定和跟踪。在每個季度開始時,組織或團隊會設定一組目標和關鍵結果。然後,團隊成員會根據這些目標和關鍵結果制定工作計劃。在季度末,團隊會評估其目標的達成情況並制定下一個季度的目標。
OpenProject 是一款開源的專案管理軟體,可用於幫助組織和團隊實施 OKR。OpenProject 提供了以下功能來支持 OKR:
- 目標和關鍵結果的定義和跟踪:OpenProject 允許您定義目標和關鍵結果,並跟踪其達成進度。
- 工作計劃的制定:OpenProject 允許您根據目標和關鍵結果制定工作計劃。
- 績效評估:OpenProject 允許您評估團隊目標的達成情況。
以下是一些使用 OpenProject 實施 OKR 的具體步驟:
- 定義目標和關鍵結果:與您的團隊合作,確定您想要在接下來的季度中實現的目標。對於每個目標,定義幾個關鍵結果來衡量其達成進度。
- 將目標和關鍵結果與工作包關聯:在 OpenProject 中,將您的目標和關鍵結果與工作包關聯。這將幫助您的團隊成員將其工作與組織的目標保持一致。
- 定期跟踪進度:在季度期間,定期跟踪您的目標和關鍵結果的達成進度。這將幫助您及早發現任何潛在的問題並做出必要的調整。
- 進行績效評估:在季度末,評估您的團隊目標的達成情況。這將幫助您從中吸取教訓並改進下一個季度的目標設定過程。
結合使用 OpenProject 和 OKR 可以幫助組織和團隊更有效地設定、跟踪和實現目標。OpenProject 提供的功能可以幫助您簡化 OKR 的實施過程,並提高團隊的績效。
導覽
我的經驗
系統上手之後,接下來就是系統設定
- 公司
- 個人使用
公司
- 系統管理員
主要工作除了整個系統安裝/維護之外,還要負責建立專案,公司可以導入「開立專案申請表」流程,讓系統管理員依據表單「建立新專案」,以及「設定專案管理員」;後續專案管理員就可以新增子專案,自行管理。
建議階層式新增專案,可以「年份」命名。
專案結案後,可以進行封存(目前版本封存專案後,需解封才能看內容)
- 專案管理員
首先要做的事是:
* 建立不同視角的「看板」
* 新增首個「工作項目(Tasks)」填入專案相關文件或訊息
* 專案加入成員,此舉成員會看到所有工作項目,不建議此做法;建議使用「共用」功能,參與人員只能看到跟自己相關的工作任務
* 透過專案的「會議功能」發布會議(不建議直接使用email發布) - 基層主管(基層)
建立適合自己的OKR檢視版面,讓中高階主管檢視
建立適合自己的KPI檢視版面,來檢視部門成員的工作項目 - 專案成員
填寫「專案工作項目」內容
建立適合自己的工作項目檢視版面
以下向上進行KPI、OKR綁定 - 部門成員
填寫「部門工作項目」內容
建立適合自己的工作項目檢視版面
以下向上進行KPI、OKR綁定
個人
個人專案,自己擔任專案管理員,自成天地,就像寫日記一樣,未來可以回顧。
OpenProject 安裝
讓有經驗的DevOps,可以一天建立OpenProject專案管理系統。 另外官網建議14.5或以上,應該改用 docker compose方式 https://github.com/opf/openproject-docker-compose/issues 但是到目前為止,用 docker 可直接一路升級到 15.3.2 不須改用docker compose
Docker安裝
docker-ce 版本 24.0.2-1 或 以上
docker volume create project_assets
docker volume create project_pgdata
# 14.0.0版以前(不含14.0.0)
docker run -d --restart=always -p 8091:80 --name openproject -e OPENPROJECT_DEFAULT__LANGUAGE=zh-TW -e OPENPROJECT_HTTPS=false -e OPENPROJECT_SECRET_KEY_BASE=安全密碼 -v project_pgdata:/var/openproject/pgdata -v project_assets:/var/openproject/assets -v project_fonts:/app/public/fonts openproject/community:13.4.1
# 14.0.0版以後(含14.0.0)
docker run -d --restart=always -p 8091:80 --name openproject -e OPENPROJECT_DEFAULT__LANGUAGE=zh-TW -e OPENPROJECT_HTTPS=false -e OPENPROJECT_SECRET_KEY_BASE=安全密碼 -v project_pgdata:/var/openproject/pgdata -v project_assets:/var/openproject/assets -v project_fonts:/app/public/fonts openproject/openproject:14.0.1
#以上參數需要修改如下
8091:80 -> 8091為主機的port(沒被佔用)
OPENPROJECT_DEFAULT__LANGUAGE=zh-TW -> zh-CN or en
OPENPROJECT_HTTPS=false -> 網站內部使用,所以不需要https,https交給代理伺服器即可
OPENPROJECT_SECRET_KEY_BASE=安全密碼
#若需要開放資料庫(postgres)給外部使用, 則加上 -p 5432:5432 , 且新增一個superuser連線
#新增superuser
docker exec -it --user postgres openproject bash
psql
postgres=# CREATE ROLE root WITH LOGIN SUPERUSER PASSWORD '密碼';
#外面連線進來
psql -h <ip> -U <帳號> <資料庫>
ex:
psql -h 172.17.0.2 -U root openproject
安裝openproject(不需要內建的postgres資料庫)
docker run -d --restart=always -p 8091:80 --name openproject -e OPENPROJECT_DEFAULT__LANGUAGE=zh-TW -e OPENPROJECT_HTTPS=false -e OPENPROJECT_SECRET_KEY_BASE=安全密碼 -e DATABASE_URL=postgres://user:pass@host:port/dbname -v project_assets:/var/openproject/assets -v project_fonts:/app/public/fonts openproject/openproject:15.4.0
#以上參數需要修改如下
8091:80 -> 8091為主機的port(沒被佔用)
OPENPROJECT_DEFAULT__LANGUAGE=zh-TW ## 簡中zh-CN or 英文en
OPENPROJECT_HTTPS=false # 網站內部使用,所以不需要https,https交給代理伺服器即可
OPENPROJECT_SECRET_KEY_BASE=安全密碼 #老實說我也不知幹嘛的,沒認真K文件
DATABASE_URL=postgres://user:pass@host:port/dbname # 外部已預先安裝好的postgres
安裝完畢,瀏覽器輸入http://ip:8091 ,登入預設 admin/admin
匯出PDF出現繁體中文亂碼解決方式
- 下載 NotoSansTC 繁體中文,
或是建議下載可簡繁正確顯示(簡變成繁)
獅尾繁中黑體 Swei Fan Sans的SweiFanSansCJKtc-Regular.ttf檔案 - 將 NotoSansTC-xxx.ttf 或 SweiFanSansCJKtc-Regular.ttf 複製並取代 /app/public/fonts/noto/ 的所有ttf檔案
- 此時就可以正常匯出了(但字型就只會有一種)
體驗企業版
- 目前測試14.x.x -> 15.1.0測試ok
- 申請試用
https://www.openproject.org/docs/enterprise-guide/enterprise-on-premises-guide/enterprise-on-premises-trial/ - 神人協助
https://gist.github.com/markasoftware
https://gist.github.com/markasoftware/f5b2e55a2c2e3abb1f9eefcdf0bfff45/raw/148c5067e30eae04f96e3233144b4404f70ade47/enterprise_token.rb
############ REPLACE app/models/enterprise_token.rb in the source code with this file! ################
############ also be sure to RESTART OpenProject after replacing the file. ################
############ it doesn't show that enterprise mode is enabled in the settings, but all ################
############ enterprise mode features, such as KanBan boards, are enabled. ################
資料庫備份
OP使用的是postgres資料庫,備份也使用標準的postgres指令
# 備份OP資料庫
docker exec -it <OP容器名稱> su - postgres -c 'pg_dump -d openproject -x -O' > openproject.sql
# 若資料庫非內建
docker exec -it <資料庫容器名稱> pg_dump -U postgres -d openproject -x -O > openproject.sql
postgres 連線指令
# -U 帳號
# -d 資料庫名稱
# -h 主機
# -W 需要輸入密碼
# -p 埠(預設5432)
psql -U root -d openproject -p 5432 -h localhost -W
升級
OP升級很友善,與nextcloud一樣會自動判斷,自行升級
# 拉下最新版
docker pull openproject/openproject:14.1.1
# 備份資料庫
docker exec -it openproject su - postgres -c 'pg_dump -d openproject -x -O' > openproject.sql
# 備份檔案(除非大版本更新,否則可以省略)
# 升級
docker stop openproject
docker rename openproject openproject_20240806
# 這裡我將postgres開放並改port為5433、http port改8091
docker run -d --restart=always -p 8091:80 -p 5433:5432 --name openproject -e OPENPROJECT_DEFAULT__LANGUAGE=zh-TW -e OPENPROJECT_HTTPS=true -e OPENPROJECT_SECRET_KEY_BASE=<密碼> -v project_pgdata:/var/openproject/pgdata -v project_assets:/var/openproject/assets openproject/openproject:14.1.1
# 查看執行狀況
docker logs -f openproject
OpenProject系統設定
建議「自訂工作項目版面」
連線到M$網域主控站
好像沒甚麼要注意的,非常簡單
請詳細參考官方網站
Documentation ->System admin guide -> Authentication -> LDAP authentication
系統帳戶建用權限最小的,最好只能唯讀之類的; Base DN 建議要精準一點,不要範圍過大
sAMAccountName

設定群組
設定群組可以在新增工作項目時,指定整個群組,非常好用
整合GIT、SVN的「修訂記錄」
目標(Objectives):工作項目(Bug)達到Issue Tracking功能。
成效(Key Result):與svn、git整合,程式提交時,OpenProject就能自動對應修正工作項目。
GIT
Git服務器(非Github),我推薦使用gitblit , 原因很多,主要是OpenProject說只能與local git,整合 , 實際上我用 https://account:password@gitserver 方式可以連上,真的不錯。
另外設定GIT成功,記得將git開發者與OpenProject成員帳號進行綁定
建議更改設定讓所有人(含專案管理員)只能看到修訂歷史紀錄
只讓系統管理員才能管理版本庫
版控系統提交時,輸入關鍵字與專案管理系統整合
當我們在版本控管系統題交訊息時,可以輸入關鍵字,就可以跟專案管理系統整合。
GIT提交
OpenProject整合版本庫
對應到工作項目 #50 自動關閉
關鍵字是可以自定的
系統管理員
資訊相關人員擔任
建立專案
- 建立專案,名稱務必簡潔有力,且注意是否公開(建議不公開)
- 專案一定要設定「成員」與「專案管理員」
- 建立不同角度的「看板」
建立不同角度的看板,專案小組應慎重討論後建立。
本例子建立兩個看板:「任務進度」(類型:狀態)與「釋出版本」(類型:版本)
某天測試員發現一個bug,點選「任務進度」,並且建立一個卡片(因已告知程式師,進度直接設定In progress),卡片標題為「無法連線到設備」,此次版本關聯到v19。
同一個任務,不同角度的看板,有不同的呈現
若任務的版本需要更改,也可以很方便輸入新的版本,系統會協助新增;但實際使用「看板」並不會自動增加卡片,需到看板那邊手動加入
- 設定儲存空間
若有雲端檔案系統,如Nextcloud,可以儲存專案所上傳的檔案。檔名必須定義命名規則,方便以後到雲端檔案系統搜尋與查詢
例如命名規則:任務名稱_文件名稱.副檔名 、任務ID_文件名稱.副檔名
實際上傳名稱即為「 無法連線到設備_測試報告.xlsx」 or 「 41_測試報告.xlsx」
設定工作項目預設欄位
根據經驗,預設欄位建議如下
設定非工作日
非工作日將不納入專案日程
注意事項
(1)
新增客製欄位"DHF"(如下圖),並且設定到「預設工作項目欄位」;
若不再需要"DHF"欄位,必須先移除「預設工作項目欄位」的"DHF",再將客製欄位"DHF"刪除;否則以後「預設工作項目欄位」就再也無法使用了。
若出現「預設工作項目欄位」無法使用,請手動將OP資料表settings的"work package list default columns"資料調整即可
專案管理員
該如何導入openproject,有一些建議
啟用模組
專案建立後,需要啟用適合的模組
加入專案成員、群組
此法該成員會看到所有工作項目,須謹慎考量
查看專案活動
自訂工作項目版面
使用者可以自訂想要看的版面
指派專案成員工作項目
建立工作項目,並且指派專案成員
透過專案系統發布會議
透過系統發布會議,系統會自動寄發電子郵件給指定成員,讓專案管理員更能掌握專案進度。
專案成員
建立工作項目
除了專案管理員外,成員也可以自行建立工作項目
紀錄工作內容
若要撰寫工作內容,需要點選工作項目,然後輸入工作內容
郵件提醒
系統有預設值,每個帳號可自行額外設定
已讀通知
觀看「通知」後需要設定已讀
自訂工作項目版面
使用者可以自訂想要看的版面
分享工作項目給非專案成員
其他
透過M$ Excel(2016)同步更新工作進度
官方提供透過excel,就可以很簡易的更新工作進度
步驟如下:
1. 取得自己的API token
請注意這個API token只能有一個,新增後只顯靈一次,就算通靈也不會再次顯示出來,需自己保存。
2. 到官方提供的GitHub OpenProjectExcel 下載excel巨集檔案
下載的檔案解開後會找到OpenProjectAPI.xlsm巨集檔案
從網址獲得專案名稱(代號)
4. 開始同步資料
選擇Download或Upload/update,就可以使用了
5. 若沒有看到其他欄位,需自行手動加上去
費用
OpenProject開源社群版本0元購,所有資料都在公司內部。
M$ Project web 60人公司,基本版每年約23萬NTD;專業版每年約70萬NTD
所有資料都在微軟手上
M$ Project 單機版每台主機2萬7千NTD,專業版4萬5千NTD