Tổng quan và hướng dẫn kỹ thuật OpenProject

Mục Lục

  1. Giới thiệu OpenProject
  2. Hướng dẫn cài đặt
  3. Tổng quan tính năng
  4. Hướng dẫn sử dụng tổng thể
  5. Chi tiết tính năng chuyên sâu
  6. Danh mục tham khảo

1. Giới thiệu OpenProject

OpenProject là phần mềm quản lý dự án mã nguồn mở hàng đầu thế giới, được thiết kế để hỗ trợ các nhóm dự án trong mọi giai đoạn của vòng đời phát triển sản phẩm: từ khởi tạo, lập kế hoạch, thực thi đến đóng dự án.

Được xây dựng trên nền tảng công nghệ mạnh mẽ (Ruby on Rails cho backend và Angular cho frontend), OpenProject cung cấp một môi trường làm việc bảo mật, linh hoạt và tối ưu cho cả quy trình quản lý dự án truyền thống (Waterfall) lẫn linh hoạt (Agile/Scrum).

Điểm mạnh cốt lõi của OpenProject nằm ở khả năng kiểm soát toàn diện:

  • Quyền riêng tư dữ liệu: Cho phép tự lưu trữ (Self-hosted) để kiểm soát 100% dữ liệu.
  • Tính năng tất-cả-trong-một: Không chỉ là quản lý tác vụ (Task), mà còn bao gồm Gantt chart, Time tracking, Cost reporting, và Wiki.

2. Hướng dẫn cài đặt

Dưới đây là các phương pháp cài đặt OpenProject phiên bản 15 thông qua Docker. Yêu cầu máy tính đã cài đặt Docker Desktop hoặc Docker Engine.

2.1. Lệnh cài đặt cơ bản (Windows)

Lệnh mặc định để chạy thử nghiệm nhanh, ánh xạ dữ liệu vào thư mục openproject15 trên ổ D. (Giữ nguyên từ tài liệu gốc)

docker run -it -p 8080:80 -v D:/openproject15:/var/lib/openproject -e OPENPROJECT_SECRET_KEY_BASE=secret -e OPENPROJECT_HOST__NAME=localhost:8080 -e OPENPROJECT_HTTPS=false -e OPENPROJECT_DEFAULT__LANGUAGE=en openproject/openproject:15

2.2. Lệnh cài đặt lưu dữ liệu ổ D (Windows)

Chạy container ở chế độ nền (-d), đặt tên container là openproject và ánh xạ volume chính xác cho Postgres data (pgdata). (Giữ nguyên từ tài liệu gốc)

docker run -d --name openproject -p 8080:80 -e OPENPROJECT_SECRET_KEY_BASE=secret -e OPENPROJECT_HOST__NAME=localhost:8080 -e OPENPROJECT_HTTPS=false -v /d/openproject15:/var/openproject/pgdata openproject/openproject:15

2.3. Hướng dẫn cài đặt trên Docker WSL (Ubuntu 22.04)

Windows Subsystem for Linux (WSL 2) mang lại hiệu năng cao hơn cho Docker so với việc mount trực tiếp ổ đĩa Windows. Dưới đây là hướng dẫn tối ưu cho môi trường Ubuntu 22.04 trên Windows 10.

Bước 1: Chuẩn bị môi trường

  • Đảm bảo đã bật WSL 2 và cài đặt Ubuntu 22.04 từ Microsoft Store.
  • Cài đặt Docker Desktop for Windows và bật tính năng "Use WSL 2 based engine" trong Settings -> General.
  • Trong Settings -> Resources -> WSL Integration, bật tích chọn "Ubuntu-22.04".

Bước 2: Tạo thư mục lưu trữ (Khuyến nghị) Trong terminal Ubuntu, tạo thư mục để lưu trữ dữ liệu (sử dụng filesystem của Linux để đạt tốc độ IO cao nhất):

mkdir -p ~/openproject/pgdata
mkdir -p ~/openproject/assets

Bước 3: Thực thi lệnh cài đặt Sử dụng đường dẫn tuyệt đối trong Linux. Biến $HOME trỏ về thư mục người dùng (ví dụ /home/hha).

docker run -d \
  --name openproject \
  --restart unless-stopped \
  -p 8080:80 \
  -e OPENPROJECT_SECRET_KEY_BASE=secret \
  -e OPENPROJECT_HOST__NAME=localhost:8080 \
  -e OPENPROJECT_HTTPS=false \
  -v $HOME/openproject/pgdata:/var/openproject/pgdata \
  -v $HOME/openproject/assets:/var/openproject/assets \
  openproject/openproject:15

Lưu ý quan trọng cho WSL:

  • Nếu bạn buộc phải lưu dữ liệu trên ổ D của Windows từ WSL, hãy thay thế dòng -v như sau: -v /mnt/d/openproject/pgdata:/var/openproject/pgdata
  • Kết nối LDAP/AD: Nếu máy chủ LDAP chạy trên Windows Host, hãy sử dụng tham số --add-host=ldap.hydrostructai.com:192.168.1.7 trong lệnh docker run để ánh xạ tên miền.
  • Truy cập OpenProject tại địa chỉ: http://localhost:8080.
  • Tài khoản quản trị mặc định: admin / admin.

2.4. Lệnh vận hành hàng ngày (Khởi động/Dừng)

Để tiết kiệm tài nguyên máy tính, bạn nên tắt OpenProject khi không sử dụng và bật lại khi cần.

Khởi động OpenProject: Mở terminal Ubuntu và chạy lệnh sau:

sudo docker start openproject

(Lưu ý: Sau khi chạy lệnh, hãy đợi khoảng 1-2 phút để các dịch vụ Database và Web khởi động hoàn tất trước khi truy cập trình duyệt).

Dừng OpenProject khi làm xong:

sudo docker stop openproject

Kiểm tra trạng thái đang chạy:

sudo docker ps

3. Tổng quan tính năng

OpenProject tích hợp đầy đủ công cụ cho quản trị dự án hiện đại.

  • Quản lý nhiệm vụ (Task Management):

    • Dễ dàng tạo, gán và theo dõi các nhiệm vụ (Work Packages).
    • Hỗ trợ phân loại nhiệm vụ: Task, Phase, Milestone, Bug.
    • Thiết lập ưu tiên công việc, trạng thái xử lý và thời hạn completion.
  • Biểu đồ Gantt (Gantt Chart):

    • Cung cấp cái nhìn toàn cảnh về tiến độ theo thời gian thực.
    • Quản lý sự phụ thuộc: Tạo liên kết finish-to-start giữa các nhiệm vụ.
    • Chế độ Auto-scheduling: Tự động dời lịch các công việc phụ thuộc khi công việc trước đó bị trễ.
  • Lịch dự án (Calendar View):

    • Hiển thị trực quan tất cả deadline và sự kiện.
    • Có thể chia sẻ và đồng bộ (iCalendar) với Google Calendar hoặc Outlook.
  • Theo dõi thời gian & Chi phí (Time & Cost Tracking):

    • Log time: Ghi lại thời gian thực tế bỏ ra cho từng task.
    • Cost Reports: Xem báo cáo ngân sách dựa trên tỉ lệ lương nhân sự (Hourly rates).
    • So sánh thời gian dự kiến (Estimated time) và thực tế (Spent time).
  • Dashboards và Báo cáo:

    • Widget linh hoạt: Biểu đồ hình tròn, cột về trạng thái task, người thực hiện.
    • Theo dõi KPI dự án ngay trên trang chủ.
  • Hợp tác nhóm (Team Collaboration):

    • Wiki: Xây dựng kho tri thức nội bộ, tài liệu kỹ thuật.
    • Forums: Thảo luận các chủ đề chung.
    • Meetings: Quản lý lịch họp, biên bản cuộc họp gắn liền với các task cụ thể.

4. Hướng dẫn sử dụng tổng thể

Quy trình khởi tạo dự án

  1. Thiết lập dự án: Từ menu chính, chọn "New Project". Bạn có thể tạo dự án trống hoặc sao chép từ một template có sẵn.
  2. Mời thành viên: Vào mục Members, thêm người dùng và gán Roles (Project Admin, Member, Reader). Hệ thống phân quyền của OpenProject rất chi tiết, cho phép kiểm soát ai được xem/sửa/xóa từng loại dữ liệu.
  3. Kích hoạt Modules: Trong Project Settings, bật/tắt các module cần thiết (ví dụ: nếu làm Scrum thì bật Backlogs, nếu làm xây dựng thì bật Gantt).

Quy trình làm việc hàng ngày

  • Project Manager: Sử dụng Gantt Chart để theo dõi tiến độ tổng thể. Sử dụng Cost Reports để kiểm soát ngân sách.
  • Team Member: Truy cập My Page để xem danh sách "Work packages assigned to me". Cập nhật trạng thái task (New -> In Progress -> Closed) và ghi log time hàng ngày.

5. Chi tiết tính năng chuyên sâu

5.1. Agile & Scrum Board

OpenProject hỗ trợ mạnh mẽ cho các đội ngũ phát triển phần mềm theo mô hình Agile:

  • Backlogs: Quản lý Product Backlog và Sprint Backlog. Dễ dàng kéo thả User Stories vào từng Sprint.
  • Taskboard: Bảng Kanban trực quan với các cột trạng thái tùy chỉnh. Hỗ trợ hiển thị Swimlanes (làn bơi) theo người thực hiện hoặc Priority.
  • Burndown Chart: Tự động sinh biểu đồ đốt cháy (Burndown) để theo dõi tốc độ hoàn thành công việc của team trong Sprint.

5.2. Quản lý tài liệu (Document Management)

Hệ thống quản lý tài liệu của OpenProject không chỉ là nơi lưu trữ file đính kèm:

  • Version Control: Tự động đánh phiên bản cho tài liệu Wiki.
  • Liên kết ngữ cảnh: Có thể đính kèm tài liệu trực tiếp vào Task hoặc Milestone, giúp thành viên có đủ thông tin khi thực hiện công việc.
  • Tích hợp Nextcloud/OneDrive: Cho phép liên kết file từ các nguồn lưu trữ đám mây bên ngoài trực tiếp vào dự án.

5.3. Bảo mật và Quyền riêng tư

  • LDAP/Active Directory: Tích hợp sẵn để đồng bộ người dùng từ hệ thống quản trị doanh nghiệp.
  • 2FA (Two-factor authentication): Hỗ trợ xác thực hai yếu tố để tăng cường bảo mật.
  • GDPR Compliance: Cam kết tuân thủ quy định bảo vệ dữ liệu, đặc biệt quan trọng với các doanh nghiệp EU hoặc làm việc với khách hàng quốc tế.

5.4. BIM (Building Information Modeling)

(Dành cho phiên bản Enterprise hoặc cài đặt Module BCF)

  • OpenProject là phần mềm quản lý dự án hiếm hoi hỗ trợ BIM thông qua chuẩn BCF (BIM Collaboration Format).
  • IFC Viewer: Xem mô hình 3D trực tiếp trên trình duyệt.
  • Quản lý các vấn đề (Issues) gắn liền với tọa độ trong không gian 3D của mô hình xây dựng.

5.5. Hướng dẫn thiết lập kết nối LDAP (hydrostructai.com)

Để đồng bộ người dùng từ hệ thống nội bộ vào OpenProject, thực hiện các bước sau:

  1. Truy cập cấu hình: Vào Administration -> Authentication -> LDAP authentication -> New LDAP connection.
  2. Thông tin cơ bản:
    • Name: HydroStructAI LDAP
    • Host: ldap.hydrostructai.com (Đảm bảo đã chạy Docker với tham số --add-host trỏ về IP 192.168.1.7).
    • Port: 389
    • LDAPS: Để trống (trừ khi server của bạn dùng SSL port 636).
  3. Thông tin tài khoản:
    • Account: Nhập tài khoản quản trị LDAP (ví dụ: CN=Admin,CN=Users,DC=hydrostructai,DC=com).
    • Password: Mật khẩu của tài khoản trên.
    • Base DN: DC=hydrostructai,DC=com.
  4. Ánh xạ thuộc tính (Attribute Mapping):
    • Login: sAMAccountName
    • First name: givenName
    • Last name: sn
    • Email: mail
  5. Kiểm tra: Nhấn nút Test ở cuối trang. Nếu hiện thông báo xanh (Success), nhấn Save để hoàn tất.

6. Danh mục tham khảo