Plandora

 
 

Hệ thống quản lý dự án Java mã nguồn mở

Lập kế hoạch, theo dõi & quản lý dự án với biểu đồ Gantt, bảng Agile, quy trình làm việc & tích hợp qua nền tảng Java mã nguồn mở.

Plandora là gì?

Plandora là một hệ thống quản lý dự án mã nguồn mở đã trưởng thành, được xây dựng bằng Java, thiết kế cho việc lập kế hoạch, theo dõi và hợp tác dự án cấp doanh nghiệp. Nó cung cấp các công cụ toàn diện bao gồm biểu đồ Gantt, bảng agile, tự động hoá quy trình làm việc, lập kế hoạch năng lực tài nguyên và báo cáo tùy chỉnh qua JasperReports. Với hỗ trợ tích hợp sẵn cho các công cụ như JIRA, SVN và RT4, Plandora cho phép các đội ngũ quản lý các dự án phức tạp đồng thời duy trì khả năng truy xuất và minh bạch giữa các phòng ban. Hệ thống trường meta linh hoạt và các biểu mẫu có thể tùy chỉnh cho phép tổ chức điều chỉnh nền tảng cho các quy trình làm việc độc đáo mà không cần thay đổi mã.

Hệ thống nhấn mạnh tính khả dụng và khả năng mở rộng, với cơ sở tri thức có chức năng tìm kiếm giống Google, khảo sát dự án đa cấp, quản lý rủi ro và danh sách việc cần làm dựa trên nhiệm vụ. Plandora hỗ trợ cả phương pháp truyền thống waterfall và agile thông qua thẻ cân bằng điểm số, công cụ giảm bớt vòng lặp, và cấu trúc macro-nhiệm vụ. Kể từ khi khởi động lại vào năm 2023, dự án đã sửa hơn 30 lỗi nghiêm trọng, cải thiện hiệu năng, thêm tính năng nhập/xuất CSV, và nâng cao khả năng báo cáo — bao gồm tạo báo cáo theo lịch và xuất ra JPG. Các nhà phát triển có thể đóng góp qua kho [GitHub của Plandora](https://github.com/Cynjut/Plandora) và mở rộng chức năng bằng kiến trúc mô-đun và các mẫu JDBC/DAO.

Previous Next

Bắt đầu với Plandora

Plandora là một ứng dụng web dựa trên Java thường được triển khai trên Tomcat hoặc các máy chủ JEE khác. Để bắt đầu, sao chép mã nguồn từ kho [GitHub của Plandora](https://github.com/Cynjut/Plandora), đảm bảo đã cài đặt Java 8+ và Maven, và xây dựng file WAR bằng lệnh `mvn clean package`. Triển khai file WAR đã tạo lên container servlet của bạn. Hệ thống hỗ trợ cả việc kết nối pool của Tomcat và kết nối JDBC trực tiếp (được cấu hình trong `web.xml`). Sau khi cài đặt ban đầu, cấu hình thông tin đăng nhập cơ sở dữ liệu, cài đặt SMTP, và tích hợp với các hệ thống bên ngoài như JIRA hoặc SVN. Plandora bao gồm các trình hướng dẫn cài đặt tích hợp cho các thành phần cốt lõi như quy trình làm việc, trường meta, và vai trò người dùng để tăng tốc triển khai.

Xây dựng & Triển khai Plandora qua Maven

# Clone the repository
git clone https://github.com/Cynjut/Plandora.git
cd Plandora

# Build the WAR file
mvn clean package

# Deploy to Tomcat
cp target/plandora.war $TOMCAT_HOME/webapps/

Biểu đồ Gantt với Sự kiện Lịch & Các mốc quan trọng

Biểu đồ Gantt của Plandora hiển thị thời gian dự án với hỗ trợ các nhiệm vụ macro, các mốc quan trọng và các sự kiện lịch. Nó lọc động các nguồn lực và nhiệm vụ, đảm bảo theo dõi tiến độ chính xác ngay cả khi nguồn lực được gán hoặc gỡ bỏ. Biểu đồ hiện bao gồm các dấu mốc quan trọng và tích hợp với lịch dự án để phản ánh ngày làm việc và ngày lễ. Người dùng có thể xuất các chế độ xem Gantt sang định dạng CSV, XLS hoặc JPG để báo cáo và chia sẻ. Cải tiến hiệu năng đảm bảo việc render mượt mà cho các bộ dữ liệu lớn, và hệ thống xử lý đúng việc cắt ngắn nhiệm vụ khi nhập từ MSProject. Các trường tùy chỉnh và siêu trường có thể được hiển thị trực tiếp trên lưới Gantt, cung cấp ngữ cảnh phong phú hơn mà không rời khỏi chế độ xem thời gian. Điều này làm cho Plandora trở nên lý tưởng cho cả các nhà quản lý dự án truyền thống và các đội ngũ lai sử dụng kết hợp agile-waterfall.

Xuất Biểu đồ Gantt sang JPG qua Báo cáo Được lên lịch

// Use Report2File agent to schedule Gantt export
Report2File report = new Report2File();
report.setReportName("ProjectGantt");
report.setOutputFormat("jpg");
report.setSchedule("0 0 2 * * ?"); // Daily at 2 AM
report.setFilePath("/reports/gantt/");
report.execute();

Tích hợp JIRA để Nhập vấn đề

Plandora bao gồm một tác nhân chuyên dụng để nhập các vấn đề JIRA thành yêu cầu Plandora, bao gồm cả tệp đính kèm và siêu dữ liệu. Sự tích hợp này nối liền hệ thống ticket và lập kế hoạch dự án, cho phép các bên liên quan không kỹ thuật sử dụng RT4 hoặc JIRA trong khi các nhà phát triển quản lý công việc trong Plandora. Quá trình nhập giữ nguyên các mối quan hệ của vấn đề, mức độ ưu tiên, người được giao và dấu thời gian. Nó hỗ trợ lọc theo dự án, trạng thái hoặc khoảng thời gian và xử lý các lô dữ liệu lớn một cách hiệu quả. Sau khi nhập, các vấn đề trở thành yêu cầu Plandora đầy đủ với các trường có thể chỉnh sửa, chuyển đổi quy trình làm việc và cấu trúc nhiệm vụ. Tính năng này đặc biệt có giá trị đối với các tổ chức đang chuyển đổi từ JIRA hoặc duy trì hệ thống kép. Các nhà phát triển có thể mở rộng tác nhân thông qua cấu hình hoặc plugin tùy chỉnh để hỗ trợ các trường JIRA bổ sung hoặc trường tùy chỉnh.

Nhập các vấn đề JIRA qua Trình đại lý dòng lệnh

// Example agent invocation (simplified)
JiraImporter importer = new JiraImporter();
importer.setJiraUrl("https://jira.example.com");
importer.setUsername("api_user");
importer.setPassword("token");
importer.setProjectKey("PROJ");
importer.setIssueFilter("status = 'Done'");
importer.setImportAttachments(true);
importer.execute();

Quản lý và So sánh Năng lực Tài nguyên

Biểu mẫu năng lực tài nguyên của Plandora cho phép lập kế hoạch chi tiết và theo dõi khả dụng của đội ngũ so với việc sử dụng thực tế. Nó tính toán năng lực đã sử dụng dựa trên các nhiệm vụ được giao, các vòng lặp và bảng chấm công, với các bộ lọc cho giá trị zero/empty và khoảng thời gian. Người dùng có thể so sánh năng lực ước tính và đã sử dụng cạnh nhau để xác định việc phân bổ quá mức hoặc thiếu hụt. Hệ thống hỗ trợ tài nguyên đã giải phóng một cách nhẹ nhàng, sửa lỗi truy vấn DB khi thành viên bị loại bỏ khỏi tất cả các dự án. Dữ liệu năng lực được tích hợp với biểu đồ Gantt và các gadget burndown, cho phép lập kế hoạch sprint và mốc thời gian thực tế. Các nhà quản lý có thể điều chỉnh ước tính một cách động, và các thay đổi lan truyền tới các báo cáo và bảng điều khiển downstream. Tính năng này rất quan trọng cho việc quản trị và dự báo tài nguyên ở cấp độ danh mục trong môi trường đa dự án.

Lọc năng lực tài nguyên theo giá trị zero

// Pseudo-code for capacity filtering logic
ResourceCapacityFilter filter = new ResourceCapacityFilter();
filter.setProjectId(projectId);
filter.setShowZeroValues(true);
filter.setCompareEstimates(true);

List entries = capacityService.getFilteredCapacities(filter);
for (CapacityEntry entry : entries) {
    if (entry.getUsed() == 0) {
        System.out.println("Unused capacity: " + entry.getResourceName());
    }
}

Tự động hoá Quy trình & Tùy chỉnh Trường Meta

Engine workflow của Plandora hỗ trợ các chuỗi phê duyệt có thể tùy chỉnh, chuyển đổi trạng thái và các bình luận theo dõi gắn với yêu cầu, nhiệm vụ và các sự kiện. Giao diện workflow dạng popup hiện hiển thị mô tả yêu cầu liên quan và toàn bộ lịch sử bình luận, cải thiện khả năng truy xuất. Meta-field cho phép quản trị viên định nghĩa các thuộc tính tùy chỉnh (ví dụ: thẻ tuân thủ, ID khách hàng) cho nhiệm vụ, yêu cầu và dự án — bao gồm các trường bắt buộc được áp dụng qua xác thực giao diện người dùng. Các trường này xuất hiện trong lưới, báo cáo và xuất dữ liệu, cho phép mô hình dữ liệu linh hoạt mà không cần thay đổi mã. Hệ thống cũng hỗ trợ hiển thị meta-field trong lưới biểu mẫu chính và nhập khẩu CSV, đảm bảo tính nhất quán trên các điểm nhập dữ liệu. Tính mở rộng này khiến Plandora phù hợp cho các ngành công nghiệp được quy định và cấu trúc tổ chức phức tạp yêu cầu dấu vết kiểm toán và quy trình tiêu chuẩn.

Xác định trường meta bắt buộc qua API

// Example: Mark meta-field as mandatory
MetaField field = metaFieldService.findById("client_id");
field.setIsMandatory(true);
field.setValidationRegex("^[A-Z]{3}[0-9]{4}$");
metaFieldService.update(field);

// Validation enforced in forms and imports
if (request.getClientId() == null || request.getClientId().isEmpty()) {
    throw new ValidationException("Client ID is required");
}
 Tiếng Việt